Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/.classpath7
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/.cvsignore1
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/.project28
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/META-INF/MANIFEST.MF16
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/build.properties19
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptCallAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Action.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityEdge.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Actor.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AnyReceiveEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Artifact.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AssociationClass.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Behavior.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehavioralFeature.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CentralBufferNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ChangeEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClassifierTemplateParameter.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Clause.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearAssociationAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearStructuralFeatureAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearVariableAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Collaboration.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CollaborationUse.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CombinedFragment.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CommunicationPath.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ComponentRealization.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectableElementTemplateParameter.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectionPointReference.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectorEnd.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConsiderIgnoreFragment.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Continuation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkObjectAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreationEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Deployment.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DeploymentSpecification.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyLinkAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestructionEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Device.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Duration.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationInterval.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationObservationAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ElementImport.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEnvironment.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionOccurrenceSpecification.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Expression.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extend.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extension.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionEnd.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionPoint.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FunctionBehavior.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Gate.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralOrdering.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralizationSet.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Include.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationFlow.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationItem.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionConstraint.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionOperand.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionUse.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interval.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndCreationData.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndData.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndDestructionData.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralBoolean.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralInteger.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralNull.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralString.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralUnlimitedNatural.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Manifestation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MessageOccurrenceSpecification.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Model.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Node.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueBehavior.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueExpression.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OperationTemplateParameter.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageImport.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageMerge.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Parameter.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ParameterSet.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PartDecomposition.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pin.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Profile.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProfileApplication.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolConformance.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolStateMachine.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolTransition.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/QualifierValue.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RaiseExceptionAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadExtentAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadIsClassifiedObjectAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndQualifierAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Reception.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReclassifyObjectAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RedefinableTemplateSignature.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Region.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveStructuralFeatureValueAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveVariableValueAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReplyAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendOperationEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Signal.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SignalEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Slot.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StartClassifierBehaviorAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateInvariant.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateMachine.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StringExpression.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Substitution.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateBinding.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameter.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameterSubstitution.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateSignature.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TestIdentityAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeEvent.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeExpression.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeInterval.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservationAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Trigger.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UnmarshallAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Usage.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UseCase.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Variable.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/plugin.properties909
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/plugin.xml32
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/UMLEditPlugin.java100
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AbstractionItemProvider.java177
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptCallActionItemProvider.java171
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptEventActionItemProvider.java248
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionExecutionSpecificationItemProvider.java149
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionInputPinItemProvider.java370
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionItemProvider.java340
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityEdgeItemProvider.java509
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityFinalNodeItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityGroupItemProvider.java221
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityItemProvider.java684
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityNodeItemProvider.java281
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityParameterNodeItemProvider.java171
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityPartitionItemProvider.java415
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActorItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddStructuralFeatureValueActionItemProvider.java246
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddVariableValueActionItemProvider.java241
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AnyReceiveEventItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ArtifactItemProvider.java405
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationClassItemProvider.java411
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationItemProvider.java403
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorExecutionSpecificationItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorItemProvider.java336
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioralFeatureItemProvider.java416
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioredClassifierItemProvider.java415
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BroadcastSignalActionItemProvider.java172
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallActionItemProvider.java215
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallBehaviorActionItemProvider.java171
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallEventItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallOperationActionItemProvider.java235
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CentralBufferNodeItemProvider.java149
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ChangeEventItemProvider.java255
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassItemProvider.java690
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierItemProvider.java803
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierTemplateParameterItemProvider.java222
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClauseItemProvider.java241
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearAssociationActionItemProvider.java232
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearStructuralFeatureActionItemProvider.java152
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearVariableActionItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationItemProvider.java318
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationUseItemProvider.java231
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CombinedFragmentItemProvider.java246
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommentItemProvider.java176
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommunicationPathItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentItemProvider.java620
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentRealizationItemProvider.java248
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConditionalNodeItemProvider.java293
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementItemProvider.java207
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementTemplateParameterItemProvider.java148
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectionPointReferenceItemProvider.java190
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorEndItemProvider.java211
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorItemProvider.java261
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConsiderIgnoreFragmentItemProvider.java148
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConstraintItemProvider.java295
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ContinuationItemProvider.java156
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlFlowItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlNodeItemProvider.java115
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkActionItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkObjectActionItemProvider.java204
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateObjectActionItemProvider.java223
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreationEventItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataStoreNodeItemProvider.java149
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataTypeItemProvider.java251
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DecisionNodeItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DependencyItemProvider.java233
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeployedArtifactItemProvider.java115
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentItemProvider.java313
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentSpecificationItemProvider.java226
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentTargetItemProvider.java258
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyLinkActionItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyObjectActionItemProvider.java258
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestructionEventItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeviceItemProvider.java156
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DirectedRelationshipItemProvider.java157
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationConstraintItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationIntervalItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationItemProvider.java176
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationObservationActionItemProvider.java178
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementImportItemProvider.java223
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementItemProvider.java258
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EncapsulatedClassifierItemProvider.java234
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationItemProvider.java202
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationLiteralItemProvider.java173
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EventItemProvider.java115
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExceptionHandlerItemProvider.java205
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutableNodeItemProvider.java168
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEnvironmentItemProvider.java156
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEventItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionOccurrenceSpecificationItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionSpecificationItemProvider.java157
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionNodeItemProvider.java190
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionRegionItemProvider.java221
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpressionItemProvider.java276
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtendItemProvider.java320
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionEndItemProvider.java153
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionItemProvider.java247
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionPointItemProvider.java149
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FeatureItemProvider.java168
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalNodeItemProvider.java115
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalStateItemProvider.java152
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FlowFinalNodeItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ForkNodeItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FunctionBehaviorItemProvider.java155
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GateItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralOrderingItemProvider.java167
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationItemProvider.java215
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationSetItemProvider.java217
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ImageItemProvider.java146
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IncludeItemProvider.java234
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationFlowItemProvider.java333
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationItemItemProvider.java171
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InitialNodeItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InputPinItemProvider.java149
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceSpecificationItemProvider.java395
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceValueItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionConstraintItemProvider.java355
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionFragmentItemProvider.java233
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionItemProvider.java635
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionOperandItemProvider.java382
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionUseItemProvider.java411
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceItemProvider.java469
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceRealizationItemProvider.java248
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterruptibleActivityRegionItemProvider.java165
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalConstraintItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalItemProvider.java165
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InvocationActionItemProvider.java221
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/JoinNodeItemProvider.java276
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LifelineItemProvider.java332
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkActionItemProvider.java252
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndCreationDataItemProvider.java174
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDataItemProvider.java215
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDestructionDataItemProvider.java176
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralBooleanItemProvider.java156
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralIntegerItemProvider.java156
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralNullItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralSpecificationItemProvider.java115
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralStringItemProvider.java156
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralUnlimitedNaturalItemProvider.java157
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LoopNodeItemProvider.java411
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ManifestationItemProvider.java207
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MergeNodeItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEndItemProvider.java137
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEventItemProvider.java115
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageItemProvider.java402
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageOccurrenceSpecificationItemProvider.java149
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ModelItemProvider.java181
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MultiplicityElementItemProvider.java430
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamedElementItemProvider.java279
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamespaceItemProvider.java322
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NodeItemProvider.java351
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectFlowItemProvider.java241
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectNodeItemProvider.java351
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OccurrenceSpecificationItemProvider.java177
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueActionItemProvider.java241
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueBehaviorItemProvider.java206
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueExpressionItemProvider.java218
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationItemProvider.java656
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationTemplateParameterItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OutputPinItemProvider.java149
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageImportItemProvider.java202
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageItemProvider.java812
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageMergeItemProvider.java165
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageableElementItemProvider.java194
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterItemProvider.java674
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterSetItemProvider.java214
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterableElementItemProvider.java190
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PartDecompositionItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PinItemProvider.java179
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PortItemProvider.java285
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PrimitiveTypeItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileApplicationItemProvider.java213
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileItemProvider.java323
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PropertyItemProvider.java857
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolConformanceItemProvider.java165
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolStateMachineItemProvider.java208
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolTransitionItemProvider.java293
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PseudostateItemProvider.java198
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/QualifierValueItemProvider.java163
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RaiseExceptionActionItemProvider.java211
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadExtentActionItemProvider.java222
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadIsClassifiedObjectActionItemProvider.java302
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkActionItemProvider.java203
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndActionItemProvider.java275
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndQualifierActionItemProvider.java278
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadSelfActionItemProvider.java203
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadStructuralFeatureActionItemProvider.java204
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadVariableActionItemProvider.java203
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RealizationItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReceptionItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReclassifyObjectActionItemProvider.java277
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableElementItemProvider.java190
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableTemplateSignatureItemProvider.java370
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RegionItemProvider.java361
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RelationshipItemProvider.java135
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveStructuralFeatureValueActionItemProvider.java247
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveVariableValueActionItemProvider.java242
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReplyActionItemProvider.java286
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendObjectActionItemProvider.java266
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendOperationEventItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalActionItemProvider.java234
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalEventItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SequenceNodeItemProvider.java376
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalEventItemProvider.java147
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalItemProvider.java210
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SlotItemProvider.java254
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StartClassifierBehaviorActionItemProvider.java213
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateInvariantItemProvider.java194
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateItemProvider.java745
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateMachineItemProvider.java268
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StereotypeItemProvider.java176
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StringExpressionItemProvider.java303
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureActionItemProvider.java222
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureItemProvider.java475
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredActivityNodeItemProvider.java819
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredClassifierItemProvider.java288
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SubstitutionItemProvider.java246
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateBindingItemProvider.java218
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterItemProvider.java963
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterSubstitutionItemProvider.java625
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateSignatureItemProvider.java299
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateableElementItemProvider.java214
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TestIdentityActionItemProvider.java294
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeConstraintItemProvider.java150
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeEventItemProvider.java267
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeExpressionItemProvider.java176
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeIntervalItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeObservationActionItemProvider.java178
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TransitionItemProvider.java388
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TriggerItemProvider.java165
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypeItemProvider.java138
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypedElementItemProvider.java137
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UMLItemProviderAdapterFactory.java5000
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UnmarshallActionItemProvider.java250
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UsageItemProvider.java125
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UseCaseItemProvider.java288
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValuePinItemProvider.java243
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationActionItemProvider.java303
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationItemProvider.java137
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableActionItemProvider.java161
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableItemProvider.java486
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VertexItemProvider.java178
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteLinkActionItemProvider.java140
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteStructuralFeatureActionItemProvider.java206
-rw-r--r--plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteVariableActionItemProvider.java201
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/.classpath7
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/.cvsignore1
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/.project28
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/META-INF/MANIFEST.MF18
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/build.properties19
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gifbin0 -> 346 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/icons/full/wizban/NewUML.gifbin0 -> 2462 bytes
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/plugin.properties71
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/plugin.xml47
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/UMLEditorPlugin.java102
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLActionBarContributor.java448
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLEditor.java1548
-rw-r--r--plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLModelWizard.java659
461 files changed, 69166 insertions, 0 deletions
diff --git a/plugins/org.eclipse.uml2.uml.edit/.classpath b/plugins/org.eclipse.uml2.uml.edit/.classpath
new file mode 100644
index 00000000..751c8f2e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/.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"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.uml2.uml.edit/.cvsignore b/plugins/org.eclipse.uml2.uml.edit/.cvsignore
new file mode 100644
index 00000000..ba077a40
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.uml2.uml.edit/.project b/plugins/org.eclipse.uml2.uml.edit/.project
new file mode 100644
index 00000000..1e06b444
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.uml2.uml.edit</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>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.uml2.uml.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.uml2.uml.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..e8345e40
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.uml2.uml.edit; singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: org.eclipse.uml2.uml.edit.jar
+Bundle-Activator: org.eclipse.uml2.uml.edit.UMLEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.uml2.uml.edit,
+ org.eclipse.uml2.uml.edit.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.uml2.common.edit;visibility:=reexport
+Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.uml2.uml.edit/build.properties b/plugins/org.eclipse.uml2.uml.edit/build.properties
new file mode 100644
index 00000000..569e9763
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2005 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
+#
+# $Id: build.properties,v 1.1 2005/11/14 22:11:37 khussey Exp $
+
+bin.includes = org.eclipse.uml2.uml.edit.jar,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = org.eclipse.uml2.uml.edit.jar
+source.org.eclipse.uml2.uml.edit.jar = src/
+output.org.eclipse.uml2.uml.edit.jar = bin/ \ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif
new file mode 100644
index 00000000..83afb9b3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptCallAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptCallAction.gif
new file mode 100644
index 00000000..badaab06
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptCallAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif
new file mode 100644
index 00000000..db7414e9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Action.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Action.gif
new file mode 100644
index 00000000..cb1755a7
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Action.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gif
new file mode 100644
index 00000000..134551bf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif
new file mode 100644
index 00000000..d3dc5a9a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif
new file mode 100644
index 00000000..35ef84e2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityEdge.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityEdge.gif
new file mode 100644
index 00000000..ed874747
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityEdge.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif
new file mode 100644
index 00000000..14af8aae
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif
new file mode 100644
index 00000000..2124f3e3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif
new file mode 100644
index 00000000..338fb8d9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Actor.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Actor.gif
new file mode 100644
index 00000000..35ef84e2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Actor.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif
new file mode 100644
index 00000000..7b7c428c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif
new file mode 100644
index 00000000..ef56c140
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AnyReceiveEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AnyReceiveEvent.gif
new file mode 100644
index 00000000..9250fecb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AnyReceiveEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Artifact.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Artifact.gif
new file mode 100644
index 00000000..db7414e9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Artifact.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif
new file mode 100644
index 00000000..b3643da0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Association.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AssociationClass.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AssociationClass.gif
new file mode 100644
index 00000000..ed874747
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/AssociationClass.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Behavior.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Behavior.gif
new file mode 100644
index 00000000..498364f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Behavior.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gif
new file mode 100644
index 00000000..2b692560
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehavioralFeature.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehavioralFeature.gif
new file mode 100644
index 00000000..5a9bc751
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BehavioralFeature.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif
new file mode 100644
index 00000000..90415988
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif
new file mode 100644
index 00000000..106881e5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallEvent.gif
new file mode 100644
index 00000000..53500daf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif
new file mode 100644
index 00000000..c4a8af41
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CentralBufferNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CentralBufferNode.gif
new file mode 100644
index 00000000..f8041d22
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CentralBufferNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ChangeEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ChangeEvent.gif
new file mode 100644
index 00000000..ea58a657
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ChangeEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif
new file mode 100644
index 00000000..a26660ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClassifierTemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClassifierTemplateParameter.gif
new file mode 100644
index 00000000..a3908bcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClassifierTemplateParameter.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Clause.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Clause.gif
new file mode 100644
index 00000000..420eee17
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Clause.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearAssociationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearAssociationAction.gif
new file mode 100644
index 00000000..739ebbfa
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearAssociationAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearStructuralFeatureAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearStructuralFeatureAction.gif
new file mode 100644
index 00000000..c4a8af41
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearStructuralFeatureAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearVariableAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearVariableAction.gif
new file mode 100644
index 00000000..afb82ea4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ClearVariableAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Collaboration.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Collaboration.gif
new file mode 100644
index 00000000..14af8aae
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Collaboration.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CollaborationUse.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CollaborationUse.gif
new file mode 100644
index 00000000..45731fe2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CollaborationUse.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CombinedFragment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CombinedFragment.gif
new file mode 100644
index 00000000..498364f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CombinedFragment.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif
new file mode 100644
index 00000000..498364f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CommunicationPath.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CommunicationPath.gif
new file mode 100644
index 00000000..90d10f94
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CommunicationPath.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif
new file mode 100644
index 00000000..e4b530ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Component.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ComponentRealization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ComponentRealization.gif
new file mode 100644
index 00000000..05dc74ad
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ComponentRealization.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif
new file mode 100644
index 00000000..739ebbfa
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectableElementTemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectableElementTemplateParameter.gif
new file mode 100644
index 00000000..badaab06
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectableElementTemplateParameter.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectionPointReference.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectionPointReference.gif
new file mode 100644
index 00000000..05dc74ad
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectionPointReference.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif
new file mode 100644
index 00000000..ed874747
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectorEnd.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectorEnd.gif
new file mode 100644
index 00000000..ed874747
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConnectorEnd.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConsiderIgnoreFragment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConsiderIgnoreFragment.gif
new file mode 100644
index 00000000..89ad5da3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ConsiderIgnoreFragment.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif
new file mode 100644
index 00000000..db7414e9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Continuation.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Continuation.gif
new file mode 100644
index 00000000..a26660ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Continuation.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif
new file mode 100644
index 00000000..9250fecb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkAction.gif
new file mode 100644
index 00000000..134551bf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkObjectAction.gif
new file mode 100644
index 00000000..a3908bcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateLinkObjectAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif
new file mode 100644
index 00000000..d3dc5a9a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreationEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreationEvent.gif
new file mode 100644
index 00000000..b3643da0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/CreationEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif
new file mode 100644
index 00000000..c3370c7d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif
new file mode 100644
index 00000000..90415988
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DataType.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif
new file mode 100644
index 00000000..1e5345fb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif
new file mode 100644
index 00000000..33a997a1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Dependency.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Deployment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Deployment.gif
new file mode 100644
index 00000000..d3dc5a9a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Deployment.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DeploymentSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DeploymentSpecification.gif
new file mode 100644
index 00000000..8a5c70cb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DeploymentSpecification.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyLinkAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyLinkAction.gif
new file mode 100644
index 00000000..420eee17
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyLinkAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif
new file mode 100644
index 00000000..83afb9b3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestructionEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestructionEvent.gif
new file mode 100644
index 00000000..7bac4fd3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DestructionEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Device.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Device.gif
new file mode 100644
index 00000000..5a9bc751
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Device.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Duration.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Duration.gif
new file mode 100644
index 00000000..c00aedf4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Duration.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif
new file mode 100644
index 00000000..c4a8af41
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationInterval.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationInterval.gif
new file mode 100644
index 00000000..b3643da0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationInterval.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationObservationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationObservationAction.gif
new file mode 100644
index 00000000..7c2aaac8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationObservationAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ElementImport.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ElementImport.gif
new file mode 100644
index 00000000..ef56c140
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ElementImport.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gif
new file mode 100644
index 00000000..2b692560
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Enumeration.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gif
new file mode 100644
index 00000000..8a5c70cb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/EnumerationLiteral.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif
new file mode 100644
index 00000000..338fb8d9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEnvironment.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEnvironment.gif
new file mode 100644
index 00000000..33854e98
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEnvironment.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEvent.gif
new file mode 100644
index 00000000..a17dc7d8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionOccurrenceSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionOccurrenceSpecification.gif
new file mode 100644
index 00000000..10d22299
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExecutionOccurrenceSpecification.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif
new file mode 100644
index 00000000..d92f34c8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif
new file mode 100644
index 00000000..45731fe2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Expression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Expression.gif
new file mode 100644
index 00000000..e4bc22dd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Expression.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extend.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extend.gif
new file mode 100644
index 00000000..05dc74ad
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extend.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extension.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extension.gif
new file mode 100644
index 00000000..30f0c48d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Extension.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionEnd.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionEnd.gif
new file mode 100644
index 00000000..30f0c48d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionEnd.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionPoint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionPoint.gif
new file mode 100644
index 00000000..c8d381f0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ExtensionPoint.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gif
new file mode 100644
index 00000000..ea58a657
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FinalState.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif
new file mode 100644
index 00000000..ef56c140
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif
new file mode 100644
index 00000000..cb1755a7
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FunctionBehavior.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FunctionBehavior.gif
new file mode 100644
index 00000000..45731fe2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/FunctionBehavior.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Gate.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Gate.gif
new file mode 100644
index 00000000..739ebbfa
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Gate.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralOrdering.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralOrdering.gif
new file mode 100644
index 00000000..498364f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralOrdering.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gif
new file mode 100644
index 00000000..45731fe2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Generalization.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralizationSet.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralizationSet.gif
new file mode 100644
index 00000000..b3643da0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/GeneralizationSet.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Include.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Include.gif
new file mode 100644
index 00000000..53500daf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Include.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationFlow.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationFlow.gif
new file mode 100644
index 00000000..e4b530ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationFlow.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationItem.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationItem.gif
new file mode 100644
index 00000000..35ef84e2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InformationItem.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif
new file mode 100644
index 00000000..e4bc22dd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif
new file mode 100644
index 00000000..ef56c140
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gif
new file mode 100644
index 00000000..be22463d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceSpecification.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceValue.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceValue.gif
new file mode 100644
index 00000000..90d10f94
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InstanceValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif
new file mode 100644
index 00000000..c673a520
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionConstraint.gif
new file mode 100644
index 00000000..98b351f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionConstraint.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionOperand.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionOperand.gif
new file mode 100644
index 00000000..d92f34c8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionOperand.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionUse.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionUse.gif
new file mode 100644
index 00000000..badaab06
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InteractionUse.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif
new file mode 100644
index 00000000..7bac4fd3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interface.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gif
new file mode 100644
index 00000000..94c953e0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterfaceRealization.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif
new file mode 100644
index 00000000..89ad5da3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interval.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interval.gif
new file mode 100644
index 00000000..33a997a1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Interval.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif
new file mode 100644
index 00000000..ed874747
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif
new file mode 100644
index 00000000..b1f8afa4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif
new file mode 100644
index 00000000..136e3b27
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndCreationData.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndCreationData.gif
new file mode 100644
index 00000000..cb1755a7
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndCreationData.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndData.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndData.gif
new file mode 100644
index 00000000..33a997a1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndData.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndDestructionData.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndDestructionData.gif
new file mode 100644
index 00000000..30f0c48d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LinkEndDestructionData.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralBoolean.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralBoolean.gif
new file mode 100644
index 00000000..05dc74ad
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralBoolean.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralInteger.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralInteger.gif
new file mode 100644
index 00000000..498364f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralInteger.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralNull.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralNull.gif
new file mode 100644
index 00000000..45731fe2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralNull.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralString.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralString.gif
new file mode 100644
index 00000000..33854e98
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralString.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralUnlimitedNatural.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralUnlimitedNatural.gif
new file mode 100644
index 00000000..9250fecb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LiteralUnlimitedNatural.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif
new file mode 100644
index 00000000..c414fe9f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Manifestation.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Manifestation.gif
new file mode 100644
index 00000000..a3908bcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Manifestation.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif
new file mode 100644
index 00000000..e4b530ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif
new file mode 100644
index 00000000..05dc74ad
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MessageOccurrenceSpecification.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MessageOccurrenceSpecification.gif
new file mode 100644
index 00000000..c4fb30e9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/MessageOccurrenceSpecification.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Model.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Model.gif
new file mode 100644
index 00000000..33a997a1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Model.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Node.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Node.gif
new file mode 100644
index 00000000..ef56c140
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Node.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif
new file mode 100644
index 00000000..98b351f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif
new file mode 100644
index 00000000..cb1755a7
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueBehavior.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueBehavior.gif
new file mode 100644
index 00000000..498364f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueBehavior.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueExpression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueExpression.gif
new file mode 100644
index 00000000..e4bc22dd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueExpression.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gif
new file mode 100644
index 00000000..420eee17
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Operation.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OperationTemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OperationTemplateParameter.gif
new file mode 100644
index 00000000..35ef84e2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OperationTemplateParameter.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif
new file mode 100644
index 00000000..4365960a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif
new file mode 100644
index 00000000..c00aedf4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Package.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageImport.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageImport.gif
new file mode 100644
index 00000000..e4b530ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageImport.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageMerge.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageMerge.gif
new file mode 100644
index 00000000..136e3b27
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PackageMerge.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Parameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Parameter.gif
new file mode 100644
index 00000000..a3908bcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Parameter.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ParameterSet.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ParameterSet.gif
new file mode 100644
index 00000000..90415988
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ParameterSet.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PartDecomposition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PartDecomposition.gif
new file mode 100644
index 00000000..98b351f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PartDecomposition.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pin.gif
new file mode 100644
index 00000000..98b351f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pin.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif
new file mode 100644
index 00000000..e4b530ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Port.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gif
new file mode 100644
index 00000000..35ef84e2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/PrimitiveType.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Profile.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Profile.gif
new file mode 100644
index 00000000..db7414e9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Profile.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProfileApplication.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProfileApplication.gif
new file mode 100644
index 00000000..b3643da0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProfileApplication.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif
new file mode 100644
index 00000000..136e3b27
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolConformance.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolConformance.gif
new file mode 100644
index 00000000..a3908bcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolConformance.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolStateMachine.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolStateMachine.gif
new file mode 100644
index 00000000..739ebbfa
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolStateMachine.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolTransition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolTransition.gif
new file mode 100644
index 00000000..90d10f94
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ProtocolTransition.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate.gif
new file mode 100644
index 00000000..94c953e0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Pseudostate.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/QualifierValue.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/QualifierValue.gif
new file mode 100644
index 00000000..7bac4fd3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/QualifierValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RaiseExceptionAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RaiseExceptionAction.gif
new file mode 100644
index 00000000..106881e5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RaiseExceptionAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadExtentAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadExtentAction.gif
new file mode 100644
index 00000000..d92f34c8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadExtentAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadIsClassifiedObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadIsClassifiedObjectAction.gif
new file mode 100644
index 00000000..83afb9b3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadIsClassifiedObjectAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkAction.gif
new file mode 100644
index 00000000..59155918
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndAction.gif
new file mode 100644
index 00000000..83afb9b3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndQualifierAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndQualifierAction.gif
new file mode 100644
index 00000000..c00aedf4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadLinkObjectEndQualifierAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif
new file mode 100644
index 00000000..33854e98
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif
new file mode 100644
index 00000000..2124f3e3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif
new file mode 100644
index 00000000..53500daf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif
new file mode 100644
index 00000000..db7414e9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Reception.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Reception.gif
new file mode 100644
index 00000000..7c2aaac8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Reception.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReclassifyObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReclassifyObjectAction.gif
new file mode 100644
index 00000000..59155918
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReclassifyObjectAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RedefinableTemplateSignature.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RedefinableTemplateSignature.gif
new file mode 100644
index 00000000..a3908bcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RedefinableTemplateSignature.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Region.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Region.gif
new file mode 100644
index 00000000..4365960a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Region.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveStructuralFeatureValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveStructuralFeatureValueAction.gif
new file mode 100644
index 00000000..106881e5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveStructuralFeatureValueAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveVariableValueAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveVariableValueAction.gif
new file mode 100644
index 00000000..338fb8d9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/RemoveVariableValueAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReplyAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReplyAction.gif
new file mode 100644
index 00000000..b1f8afa4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ReplyAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif
new file mode 100644
index 00000000..7b7c428c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendOperationEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendOperationEvent.gif
new file mode 100644
index 00000000..53500daf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendOperationEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif
new file mode 100644
index 00000000..53500daf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalEvent.gif
new file mode 100644
index 00000000..05dc74ad
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif
new file mode 100644
index 00000000..a17dc7d8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Signal.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Signal.gif
new file mode 100644
index 00000000..cb1755a7
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Signal.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SignalEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SignalEvent.gif
new file mode 100644
index 00000000..cdd3b76e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/SignalEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Slot.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Slot.gif
new file mode 100644
index 00000000..b1f8afa4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Slot.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StartClassifierBehaviorAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StartClassifierBehaviorAction.gif
new file mode 100644
index 00000000..cdd3b76e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StartClassifierBehaviorAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif
new file mode 100644
index 00000000..cb1755a7
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/State.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateInvariant.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateInvariant.gif
new file mode 100644
index 00000000..badaab06
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateInvariant.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateMachine.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateMachine.gif
new file mode 100644
index 00000000..badaab06
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StateMachine.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif
new file mode 100644
index 00000000..94c953e0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Stereotype.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StringExpression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StringExpression.gif
new file mode 100644
index 00000000..33a997a1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StringExpression.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif
new file mode 100644
index 00000000..14af8aae
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Substitution.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Substitution.gif
new file mode 100644
index 00000000..afb82ea4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Substitution.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateBinding.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateBinding.gif
new file mode 100644
index 00000000..afb82ea4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateBinding.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameter.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameter.gif
new file mode 100644
index 00000000..4365960a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameter.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameterSubstitution.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameterSubstitution.gif
new file mode 100644
index 00000000..136e3b27
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateParameterSubstitution.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateSignature.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateSignature.gif
new file mode 100644
index 00000000..afb82ea4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TemplateSignature.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TestIdentityAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TestIdentityAction.gif
new file mode 100644
index 00000000..c673a520
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TestIdentityAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif
new file mode 100644
index 00000000..cdd3b76e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeEvent.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeEvent.gif
new file mode 100644
index 00000000..7bac4fd3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeEvent.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeExpression.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeExpression.gif
new file mode 100644
index 00000000..420eee17
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeExpression.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeInterval.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeInterval.gif
new file mode 100644
index 00000000..30f0c48d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeInterval.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservationAction.gif
new file mode 100644
index 00000000..c00aedf4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservationAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition.gif
new file mode 100644
index 00000000..7bac4fd3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Transition.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Trigger.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Trigger.gif
new file mode 100644
index 00000000..ea58a657
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Trigger.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UnmarshallAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UnmarshallAction.gif
new file mode 100644
index 00000000..48e3cf22
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UnmarshallAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Usage.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Usage.gif
new file mode 100644
index 00000000..cdd3b76e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Usage.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UseCase.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UseCase.gif
new file mode 100644
index 00000000..be22463d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/UseCase.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif
new file mode 100644
index 00000000..90d10f94
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif
new file mode 100644
index 00000000..10d22299
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Variable.gif b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Variable.gif
new file mode 100644
index 00000000..83afb9b3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/icons/full/obj16/Variable.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.edit/plugin.properties b/plugins/org.eclipse.uml2.uml.edit/plugin.properties
new file mode 100644
index 00000000..4ea67068
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/plugin.properties
@@ -0,0 +1,909 @@
+# Copyright (c) 2005 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
+#
+# $Id: plugin.properties,v 1.1 2005/11/14 22:11:37 khussey Exp $
+
+# ====================================================================
+# To code developer:
+# Do NOT change the properties between this line and the
+# "%%% END OF TRANSLATED PROPERTIES %%%" line.
+# Make a new property name, append to the end of the file and change
+# the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = UML Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Comment_type = Comment
+_UI_Element_type = Element
+_UI_DirectedRelationship_type = Directed Relationship
+_UI_Relationship_type = Relationship
+_UI_LiteralSpecification_type = Literal Specification
+_UI_ValueSpecification_type = Value Specification
+_UI_TypedElement_type = Typed Element
+_UI_NamedElement_type = Named Element
+_UI_Dependency_type = Dependency
+_UI_PackageableElement_type = Packageable Element
+_UI_ParameterableElement_type = Parameterable Element
+_UI_TemplateParameter_type = Template Parameter
+_UI_TemplateSignature_type = Template Signature
+_UI_TemplateableElement_type = Templateable Element
+_UI_TemplateBinding_type = Template Binding
+_UI_TemplateParameterSubstitution_type = Template Parameter Substitution
+_UI_Namespace_type = Namespace
+_UI_ElementImport_type = Element Import
+_UI_PackageImport_type = Package Import
+_UI_Package_type = Package
+_UI_PackageMerge_type = Package Merge
+_UI_Type_type = Type
+_UI_ProfileApplication_type = Profile Application
+_UI_Profile_type = Profile
+_UI_Stereotype_type = Stereotype
+_UI_Class_type = Class
+_UI_BehavioredClassifier_type = Behaviored Classifier
+_UI_Classifier_type = Classifier
+_UI_RedefinableElement_type = Redefinable Element
+_UI_Generalization_type = Generalization
+_UI_GeneralizationSet_type = Generalization Set
+_UI_Feature_type = Feature
+_UI_UseCase_type = Use Case
+_UI_Include_type = Include
+_UI_Extend_type = Extend
+_UI_Constraint_type = Constraint
+_UI_ExtensionPoint_type = Extension Point
+_UI_Substitution_type = Substitution
+_UI_Realization_type = Realization
+_UI_Abstraction_type = Abstraction
+_UI_OpaqueExpression_type = Opaque Expression
+_UI_Parameter_type = Parameter
+_UI_MultiplicityElement_type = Multiplicity Element
+_UI_ConnectableElement_type = Connectable Element
+_UI_ConnectorEnd_type = Connector End
+_UI_Property_type = Property
+_UI_DeploymentTarget_type = Deployment Target
+_UI_Deployment_type = Deployment
+_UI_DeployedArtifact_type = Deployed Artifact
+_UI_DeploymentSpecification_type = Deployment Specification
+_UI_Artifact_type = Artifact
+_UI_Manifestation_type = Manifestation
+_UI_Operation_type = Operation
+_UI_BehavioralFeature_type = Behavioral Feature
+_UI_Behavior_type = Behavior
+_UI_ParameterSet_type = Parameter Set
+_UI_DataType_type = Data Type
+_UI_Interface_type = Interface
+_UI_Reception_type = Reception
+_UI_Signal_type = Signal
+_UI_ProtocolStateMachine_type = Protocol State Machine
+_UI_StateMachine_type = State Machine
+_UI_Region_type = Region
+_UI_Vertex_type = Vertex
+_UI_Transition_type = Transition
+_UI_Trigger_type = Trigger
+_UI_Event_type = Event
+_UI_Port_type = Port
+_UI_State_type = State
+_UI_ConnectionPointReference_type = Connection Point Reference
+_UI_Pseudostate_type = Pseudostate
+_UI_ProtocolConformance_type = Protocol Conformance
+_UI_OperationTemplateParameter_type = Operation Template Parameter
+_UI_StructuralFeature_type = Structural Feature
+_UI_Association_type = Association
+_UI_ConnectableElementTemplateParameter_type = Connectable Element Template Parameter
+_UI_CollaborationUse_type = Collaboration Use
+_UI_Collaboration_type = Collaboration
+_UI_StructuredClassifier_type = Structured Classifier
+_UI_Connector_type = Connector
+_UI_RedefinableTemplateSignature_type = Redefinable Template Signature
+_UI_ClassifierTemplateParameter_type = Classifier Template Parameter
+_UI_InterfaceRealization_type = Interface Realization
+_UI_EncapsulatedClassifier_type = Encapsulated Classifier
+_UI_Extension_type = Extension
+_UI_ExtensionEnd_type = Extension End
+_UI_Image_type = Image
+_UI_StringExpression_type = String Expression
+_UI_Expression_type = Expression
+_UI_LiteralInteger_type = Literal Integer
+_UI_LiteralString_type = Literal String
+_UI_LiteralBoolean_type = Literal Boolean
+_UI_LiteralNull_type = Literal Null
+_UI_Slot_type = Slot
+_UI_InstanceSpecification_type = Instance Specification
+_UI_Enumeration_type = Enumeration
+_UI_EnumerationLiteral_type = Enumeration Literal
+_UI_PrimitiveType_type = Primitive Type
+_UI_InstanceValue_type = Instance Value
+_UI_LiteralUnlimitedNatural_type = Literal Unlimited Natural
+_UI_OpaqueBehavior_type = Opaque Behavior
+_UI_FunctionBehavior_type = Function Behavior
+_UI_Actor_type = Actor
+_UI_Usage_type = Usage
+_UI_Message_type = Message
+_UI_MessageEnd_type = Message End
+_UI_Interaction_type = Interaction
+_UI_InteractionFragment_type = Interaction Fragment
+_UI_Lifeline_type = Lifeline
+_UI_PartDecomposition_type = Part Decomposition
+_UI_InteractionUse_type = Interaction Use
+_UI_Gate_type = Gate
+_UI_Action_type = Action
+_UI_ExecutableNode_type = Executable Node
+_UI_ActivityNode_type = Activity Node
+_UI_ActivityEdge_type = Activity Edge
+_UI_Activity_type = Activity
+_UI_ActivityPartition_type = Activity Partition
+_UI_ActivityGroup_type = Activity Group
+_UI_StructuredActivityNode_type = Structured Activity Node
+_UI_Variable_type = Variable
+_UI_InterruptibleActivityRegion_type = Interruptible Activity Region
+_UI_ExceptionHandler_type = Exception Handler
+_UI_ObjectNode_type = Object Node
+_UI_OutputPin_type = Output Pin
+_UI_Pin_type = Pin
+_UI_InputPin_type = Input Pin
+_UI_GeneralOrdering_type = General Ordering
+_UI_OccurrenceSpecification_type = Occurrence Specification
+_UI_InteractionOperand_type = Interaction Operand
+_UI_InteractionConstraint_type = Interaction Constraint
+_UI_ExecutionSpecification_type = Execution Specification
+_UI_ExecutionOccurrenceSpecification_type = Execution Occurrence Specification
+_UI_ExecutionEvent_type = Execution Event
+_UI_StateInvariant_type = State Invariant
+_UI_ActionExecutionSpecification_type = Action Execution Specification
+_UI_BehaviorExecutionSpecification_type = Behavior Execution Specification
+_UI_CreationEvent_type = Creation Event
+_UI_DestructionEvent_type = Destruction Event
+_UI_SendOperationEvent_type = Send Operation Event
+_UI_MessageEvent_type = Message Event
+_UI_SendSignalEvent_type = Send Signal Event
+_UI_MessageOccurrenceSpecification_type = Message Occurrence Specification
+_UI_CombinedFragment_type = Combined Fragment
+_UI_Continuation_type = Continuation
+_UI_ConsiderIgnoreFragment_type = Consider Ignore Fragment
+_UI_CallEvent_type = Call Event
+_UI_ChangeEvent_type = Change Event
+_UI_SignalEvent_type = Signal Event
+_UI_AnyReceiveEvent_type = Any Receive Event
+_UI_CreateObjectAction_type = Create Object Action
+_UI_DestroyObjectAction_type = Destroy Object Action
+_UI_TestIdentityAction_type = Test Identity Action
+_UI_ReadSelfAction_type = Read Self Action
+_UI_StructuralFeatureAction_type = Structural Feature Action
+_UI_ReadStructuralFeatureAction_type = Read Structural Feature Action
+_UI_WriteStructuralFeatureAction_type = Write Structural Feature Action
+_UI_ClearStructuralFeatureAction_type = Clear Structural Feature Action
+_UI_RemoveStructuralFeatureValueAction_type = Remove Structural Feature Value Action
+_UI_AddStructuralFeatureValueAction_type = Add Structural Feature Value Action
+_UI_LinkAction_type = Link Action
+_UI_LinkEndData_type = Link End Data
+_UI_QualifierValue_type = Qualifier Value
+_UI_ReadLinkAction_type = Read Link Action
+_UI_LinkEndCreationData_type = Link End Creation Data
+_UI_CreateLinkAction_type = Create Link Action
+_UI_WriteLinkAction_type = Write Link Action
+_UI_DestroyLinkAction_type = Destroy Link Action
+_UI_LinkEndDestructionData_type = Link End Destruction Data
+_UI_ClearAssociationAction_type = Clear Association Action
+_UI_BroadcastSignalAction_type = Broadcast Signal Action
+_UI_InvocationAction_type = Invocation Action
+_UI_SendObjectAction_type = Send Object Action
+_UI_ValueSpecificationAction_type = Value Specification Action
+_UI_TimeExpression_type = Time Expression
+_UI_Duration_type = Duration
+_UI_TimeObservationAction_type = Time Observation Action
+_UI_ValuePin_type = Value Pin
+_UI_DurationInterval_type = Duration Interval
+_UI_Interval_type = Interval
+_UI_TimeConstraint_type = Time Constraint
+_UI_IntervalConstraint_type = Interval Constraint
+_UI_TimeInterval_type = Time Interval
+_UI_DurationObservationAction_type = Duration Observation Action
+_UI_DurationConstraint_type = Duration Constraint
+_UI_OpaqueAction_type = Opaque Action
+_UI_CallAction_type = Call Action
+_UI_SendSignalAction_type = Send Signal Action
+_UI_CallOperationAction_type = Call Operation Action
+_UI_CallBehaviorAction_type = Call Behavior Action
+_UI_InformationItem_type = Information Item
+_UI_InformationFlow_type = Information Flow
+_UI_Model_type = Model
+_UI_ReadExtentAction_type = Read Extent Action
+_UI_ReclassifyObjectAction_type = Reclassify Object Action
+_UI_ReadIsClassifiedObjectAction_type = Read Is Classified Object Action
+_UI_StartClassifierBehaviorAction_type = Start Classifier Behavior Action
+_UI_ReadLinkObjectEndAction_type = Read Link Object End Action
+_UI_ReadLinkObjectEndQualifierAction_type = Read Link Object End Qualifier Action
+_UI_CreateLinkObjectAction_type = Create Link Object Action
+_UI_AcceptEventAction_type = Accept Event Action
+_UI_AcceptCallAction_type = Accept Call Action
+_UI_ReplyAction_type = Reply Action
+_UI_UnmarshallAction_type = Unmarshall Action
+_UI_ControlNode_type = Control Node
+_UI_ControlFlow_type = Control Flow
+_UI_InitialNode_type = Initial Node
+_UI_ActivityParameterNode_type = Activity Parameter Node
+_UI_ForkNode_type = Fork Node
+_UI_FlowFinalNode_type = Flow Final Node
+_UI_FinalNode_type = Final Node
+_UI_CentralBufferNode_type = Central Buffer Node
+_UI_MergeNode_type = Merge Node
+_UI_DecisionNode_type = Decision Node
+_UI_ActivityFinalNode_type = Activity Final Node
+_UI_JoinNode_type = Join Node
+_UI_DataStoreNode_type = Data Store Node
+_UI_ObjectFlow_type = Object Flow
+_UI_SequenceNode_type = Sequence Node
+_UI_ConditionalNode_type = Conditional Node
+_UI_Clause_type = Clause
+_UI_LoopNode_type = Loop Node
+_UI_ExpansionNode_type = Expansion Node
+_UI_ExpansionRegion_type = Expansion Region
+_UI_ComponentRealization_type = Component Realization
+_UI_Component_type = Component
+_UI_Node_type = Node
+_UI_Device_type = Device
+_UI_ExecutionEnvironment_type = Execution Environment
+_UI_CommunicationPath_type = Communication Path
+_UI_FinalState_type = Final State
+_UI_TimeEvent_type = Time Event
+_UI_ProtocolTransition_type = Protocol Transition
+_UI_AssociationClass_type = Association Class
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Comment_body_feature = Body
+_UI_Comment_annotatedElement_feature = Annotated Element
+_UI_Element_ownedElement_feature = Owned Element
+_UI_Element_owner_feature = Owner
+_UI_Element_ownedComment_feature = Owned Comment
+_UI_DirectedRelationship_source_feature = Source
+_UI_DirectedRelationship_target_feature = Target
+_UI_Relationship_relatedElement_feature = Related Element
+_UI_TypedElement_type_feature = Type
+_UI_NamedElement_name_feature = Name
+_UI_NamedElement_visibility_feature = Visibility
+_UI_NamedElement_qualifiedName_feature = Qualified Name
+_UI_NamedElement_clientDependency_feature = Client Dependency
+_UI_NamedElement_namespace_feature = Namespace
+_UI_NamedElement_nameExpression_feature = Name Expression
+_UI_Dependency_supplier_feature = Supplier
+_UI_Dependency_client_feature = Client
+_UI_ParameterableElement_templateParameter_feature = Template Parameter
+_UI_ParameterableElement_owningTemplateParameter_feature = Owning Template Parameter
+_UI_TemplateParameter_signature_feature = Signature
+_UI_TemplateParameter_ownedParameteredElement_feature = Owned Parametered Element
+_UI_TemplateParameter_default_feature = Default
+_UI_TemplateParameter_ownedDefault_feature = Owned Default
+_UI_TemplateParameter_parameteredElement_feature = Parametered Element
+_UI_TemplateSignature_parameter_feature = Parameter
+_UI_TemplateSignature_template_feature = Template
+_UI_TemplateSignature_ownedParameter_feature = Owned Parameter
+_UI_TemplateableElement_templateBinding_feature = Template Binding
+_UI_TemplateableElement_ownedTemplateSignature_feature = Owned Template Signature
+_UI_TemplateBinding_signature_feature = Signature
+_UI_TemplateBinding_parameterSubstitution_feature = Parameter Substitution
+_UI_TemplateBinding_boundElement_feature = Bound Element
+_UI_TemplateParameterSubstitution_formal_feature = Formal
+_UI_TemplateParameterSubstitution_actual_feature = Actual
+_UI_TemplateParameterSubstitution_ownedActual_feature = Owned Actual
+_UI_TemplateParameterSubstitution_templateBinding_feature = Template Binding
+_UI_Namespace_elementImport_feature = Element Import
+_UI_Namespace_packageImport_feature = Package Import
+_UI_Namespace_ownedRule_feature = Owned Rule
+_UI_Namespace_member_feature = Member
+_UI_Namespace_importedMember_feature = Imported Member
+_UI_Namespace_ownedMember_feature = Owned Member
+_UI_ElementImport_visibility_feature = Visibility
+_UI_ElementImport_alias_feature = Alias
+_UI_ElementImport_importedElement_feature = Imported Element
+_UI_ElementImport_importingNamespace_feature = Importing Namespace
+_UI_PackageImport_visibility_feature = Visibility
+_UI_PackageImport_importedPackage_feature = Imported Package
+_UI_PackageImport_importingNamespace_feature = Importing Namespace
+_UI_Package_packageMerge_feature = Package Merge
+_UI_Package_packagedElement_feature = Packaged Element
+_UI_Package_ownedType_feature = Owned Type
+_UI_Package_nestedPackage_feature = Nested Package
+_UI_Package_nestingPackage_feature = Nesting Package
+_UI_Package_appliedProfile_feature = Applied Profile
+_UI_PackageMerge_mergedPackage_feature = Merged Package
+_UI_PackageMerge_receivingPackage_feature = Receiving Package
+_UI_Type_package_feature = Package
+_UI_ProfileApplication_importedProfile_feature = Imported Profile
+_UI_ProfileApplication_isStrict_feature = Is Strict
+_UI_Profile_ownedStereotype_feature = Owned Stereotype
+_UI_Profile_metaclassReference_feature = Metaclass Reference
+_UI_Profile_metamodelReference_feature = Metamodel Reference
+_UI_Stereotype_icon_feature = Icon
+_UI_Class_ownedOperation_feature = Owned Operation
+_UI_Class_nestedClassifier_feature = Nested Classifier
+_UI_Class_superClass_feature = Super Class
+_UI_Class_isActive_feature = Is Active
+_UI_Class_ownedReception_feature = Owned Reception
+_UI_Class_extension_feature = Extension
+_UI_BehavioredClassifier_ownedBehavior_feature = Owned Behavior
+_UI_BehavioredClassifier_classifierBehavior_feature = Classifier Behavior
+_UI_BehavioredClassifier_interfaceRealization_feature = Interface Realization
+_UI_BehavioredClassifier_ownedTrigger_feature = Owned Trigger
+_UI_Classifier_isAbstract_feature = Is Abstract
+_UI_Classifier_generalization_feature = Generalization
+_UI_Classifier_powertypeExtent_feature = Powertype Extent
+_UI_Classifier_feature_feature = Feature
+_UI_Classifier_inheritedMember_feature = Inherited Member
+_UI_Classifier_redefinedClassifier_feature = Redefined Classifier
+_UI_Classifier_general_feature = General
+_UI_Classifier_ownedUseCase_feature = Owned Use Case
+_UI_Classifier_useCase_feature = Use Case
+_UI_Classifier_substitution_feature = Substitution
+_UI_Classifier_attribute_feature = Attribute
+_UI_Classifier_representation_feature = Representation
+_UI_Classifier_collaborationUse_feature = Collaboration Use
+_UI_Classifier_ownedSignature_feature = Owned Signature
+_UI_RedefinableElement_isLeaf_feature = Is Leaf
+_UI_RedefinableElement_redefinedElement_feature = Redefined Element
+_UI_RedefinableElement_redefinitionContext_feature = Redefinition Context
+_UI_Generalization_isSubstitutable_feature = Is Substitutable
+_UI_Generalization_general_feature = General
+_UI_Generalization_generalizationSet_feature = Generalization Set
+_UI_Generalization_specific_feature = Specific
+_UI_GeneralizationSet_isCovering_feature = Is Covering
+_UI_GeneralizationSet_isDisjoint_feature = Is Disjoint
+_UI_GeneralizationSet_powertype_feature = Powertype
+_UI_GeneralizationSet_generalization_feature = Generalization
+_UI_Feature_isStatic_feature = Is Static
+_UI_Feature_featuringClassifier_feature = Featuring Classifier
+_UI_UseCase_include_feature = Include
+_UI_UseCase_extend_feature = Extend
+_UI_UseCase_extensionPoint_feature = Extension Point
+_UI_UseCase_subject_feature = Subject
+_UI_Include_addition_feature = Addition
+_UI_Include_includingCase_feature = Including Case
+_UI_Extend_extendedCase_feature = Extended Case
+_UI_Extend_condition_feature = Condition
+_UI_Extend_extensionLocation_feature = Extension Location
+_UI_Extend_extension_feature = Extension
+_UI_Constraint_constrainedElement_feature = Constrained Element
+_UI_Constraint_specification_feature = Specification
+_UI_Constraint_context_feature = Context
+_UI_ExtensionPoint_useCase_feature = Use Case
+_UI_Substitution_contract_feature = Contract
+_UI_Substitution_substitutingClassifier_feature = Substituting Classifier
+_UI_Abstraction_mapping_feature = Mapping
+_UI_OpaqueExpression_body_feature = Body
+_UI_OpaqueExpression_language_feature = Language
+_UI_OpaqueExpression_result_feature = Result
+_UI_OpaqueExpression_behavior_feature = Behavior
+_UI_Parameter_parameterSet_feature = Parameter Set
+_UI_Parameter_operation_feature = Operation
+_UI_Parameter_direction_feature = Direction
+_UI_Parameter_default_feature = Default
+_UI_Parameter_defaultValue_feature = Default Value
+_UI_Parameter_isException_feature = Is Exception
+_UI_Parameter_isStream_feature = Is Stream
+_UI_Parameter_effect_feature = Effect
+_UI_MultiplicityElement_isOrdered_feature = Is Ordered
+_UI_MultiplicityElement_isUnique_feature = Is Unique
+_UI_MultiplicityElement_upper_feature = Upper
+_UI_MultiplicityElement_lower_feature = Lower
+_UI_MultiplicityElement_upperValue_feature = Upper Value
+_UI_MultiplicityElement_lowerValue_feature = Lower Value
+_UI_ConnectableElement_end_feature = End
+_UI_ConnectorEnd_definingEnd_feature = Defining End
+_UI_ConnectorEnd_partWithPort_feature = Part With Port
+_UI_ConnectorEnd_role_feature = Role
+_UI_Property_datatype_feature = Datatype
+_UI_Property_isDerived_feature = Is Derived
+_UI_Property_isDerivedUnion_feature = Is Derived Union
+_UI_Property_default_feature = Default
+_UI_Property_aggregation_feature = Aggregation
+_UI_Property_isComposite_feature = Is Composite
+_UI_Property_class__feature = Class
+_UI_Property_redefinedProperty_feature = Redefined Property
+_UI_Property_owningAssociation_feature = Owning Association
+_UI_Property_association_feature = Association
+_UI_Property_defaultValue_feature = Default Value
+_UI_Property_opposite_feature = Opposite
+_UI_Property_subsettedProperty_feature = Subsetted Property
+_UI_Property_qualifier_feature = Qualifier
+_UI_Property_associationEnd_feature = Association End
+_UI_DeploymentTarget_deployment_feature = Deployment
+_UI_DeploymentTarget_deployedElement_feature = Deployed Element
+_UI_Deployment_deployedArtifact_feature = Deployed Artifact
+_UI_Deployment_configuration_feature = Configuration
+_UI_Deployment_location_feature = Location
+_UI_DeploymentSpecification_deploymentLocation_feature = Deployment Location
+_UI_DeploymentSpecification_executionLocation_feature = Execution Location
+_UI_DeploymentSpecification_deployment_feature = Deployment
+_UI_Artifact_fileName_feature = File Name
+_UI_Artifact_nestedArtifact_feature = Nested Artifact
+_UI_Artifact_manifestation_feature = Manifestation
+_UI_Artifact_ownedOperation_feature = Owned Operation
+_UI_Artifact_ownedAttribute_feature = Owned Attribute
+_UI_Manifestation_utilizedElement_feature = Utilized Element
+_UI_Operation_isQuery_feature = Is Query
+_UI_Operation_isOrdered_feature = Is Ordered
+_UI_Operation_isUnique_feature = Is Unique
+_UI_Operation_lower_feature = Lower
+_UI_Operation_upper_feature = Upper
+_UI_Operation_class__feature = Class
+_UI_Operation_precondition_feature = Precondition
+_UI_Operation_postcondition_feature = Postcondition
+_UI_Operation_redefinedOperation_feature = Redefined Operation
+_UI_Operation_datatype_feature = Datatype
+_UI_Operation_bodyCondition_feature = Body Condition
+_UI_Operation_type_feature = Type
+_UI_Operation_interface_feature = Interface
+_UI_BehavioralFeature_ownedParameter_feature = Owned Parameter
+_UI_BehavioralFeature_isAbstract_feature = Is Abstract
+_UI_BehavioralFeature_method_feature = Method
+_UI_BehavioralFeature_concurrency_feature = Concurrency
+_UI_BehavioralFeature_raisedException_feature = Raised Exception
+_UI_BehavioralFeature_ownedParameterSet_feature = Owned Parameter Set
+_UI_Behavior_isReentrant_feature = Is Reentrant
+_UI_Behavior_redefinedBehavior_feature = Redefined Behavior
+_UI_Behavior_ownedParameter_feature = Owned Parameter
+_UI_Behavior_context_feature = Context
+_UI_Behavior_ownedParameterSet_feature = Owned Parameter Set
+_UI_Behavior_specification_feature = Specification
+_UI_ParameterSet_parameter_feature = Parameter
+_UI_ParameterSet_condition_feature = Condition
+_UI_DataType_ownedAttribute_feature = Owned Attribute
+_UI_DataType_ownedOperation_feature = Owned Operation
+_UI_Interface_ownedAttribute_feature = Owned Attribute
+_UI_Interface_nestedClassifier_feature = Nested Classifier
+_UI_Interface_redefinedInterface_feature = Redefined Interface
+_UI_Interface_ownedReception_feature = Owned Reception
+_UI_Interface_protocol_feature = Protocol
+_UI_Interface_ownedOperation_feature = Owned Operation
+_UI_Reception_signal_feature = Signal
+_UI_Signal_ownedAttribute_feature = Owned Attribute
+_UI_ProtocolStateMachine_conformance_feature = Conformance
+_UI_StateMachine_region_feature = Region
+_UI_StateMachine_connectionPoint_feature = Connection Point
+_UI_StateMachine_extendedStateMachine_feature = Extended State Machine
+_UI_Region_subvertex_feature = Subvertex
+_UI_Region_transition_feature = Transition
+_UI_Region_state_feature = State
+_UI_Region_extendedRegion_feature = Extended Region
+_UI_Region_stateMachine_feature = State Machine
+_UI_Vertex_outgoing_feature = Outgoing
+_UI_Vertex_incoming_feature = Incoming
+_UI_Vertex_container_feature = Container
+_UI_Transition_kind_feature = Kind
+_UI_Transition_container_feature = Container
+_UI_Transition_target_feature = Target
+_UI_Transition_redefinedTransition_feature = Redefined Transition
+_UI_Transition_guard_feature = Guard
+_UI_Transition_effect_feature = Effect
+_UI_Transition_trigger_feature = Trigger
+_UI_Transition_source_feature = Source
+_UI_Trigger_event_feature = Event
+_UI_Trigger_port_feature = Port
+_UI_Port_isBehavior_feature = Is Behavior
+_UI_Port_isService_feature = Is Service
+_UI_Port_required_feature = Required
+_UI_Port_redefinedPort_feature = Redefined Port
+_UI_Port_provided_feature = Provided
+_UI_Port_protocol_feature = Protocol
+_UI_State_isComposite_feature = Is Composite
+_UI_State_isOrthogonal_feature = Is Orthogonal
+_UI_State_isSimple_feature = Is Simple
+_UI_State_isSubmachineState_feature = Is Submachine State
+_UI_State_submachine_feature = Submachine
+_UI_State_connection_feature = Connection
+_UI_State_connectionPoint_feature = Connection Point
+_UI_State_redefinedState_feature = Redefined State
+_UI_State_stateInvariant_feature = State Invariant
+_UI_State_entry_feature = Entry
+_UI_State_exit_feature = Exit
+_UI_State_doActivity_feature = Do Activity
+_UI_State_deferrableTrigger_feature = Deferrable Trigger
+_UI_State_region_feature = Region
+_UI_ConnectionPointReference_entry_feature = Entry
+_UI_ConnectionPointReference_exit_feature = Exit
+_UI_ConnectionPointReference_state_feature = State
+_UI_Pseudostate_kind_feature = Kind
+_UI_Pseudostate_stateMachine_feature = State Machine
+_UI_Pseudostate_state_feature = State
+_UI_ProtocolConformance_generalMachine_feature = General Machine
+_UI_ProtocolConformance_specificMachine_feature = Specific Machine
+_UI_StructuralFeature_isReadOnly_feature = Is Read Only
+_UI_Association_isDerived_feature = Is Derived
+_UI_Association_endType_feature = End Type
+_UI_Association_memberEnd_feature = Member End
+_UI_Association_navigableOwnedEnd_feature = Navigable Owned End
+_UI_Association_ownedEnd_feature = Owned End
+_UI_CollaborationUse_type_feature = Type
+_UI_CollaborationUse_roleBinding_feature = Role Binding
+_UI_Collaboration_collaborationRole_feature = Collaboration Role
+_UI_StructuredClassifier_ownedAttribute_feature = Owned Attribute
+_UI_StructuredClassifier_part_feature = Part
+_UI_StructuredClassifier_role_feature = Role
+_UI_StructuredClassifier_ownedConnector_feature = Owned Connector
+_UI_Connector_type_feature = Type
+_UI_Connector_redefinedConnector_feature = Redefined Connector
+_UI_Connector_end_feature = End
+_UI_Connector_kind_feature = Kind
+_UI_Connector_contract_feature = Contract
+_UI_RedefinableTemplateSignature_extendedSignature_feature = Extended Signature
+_UI_RedefinableTemplateSignature_inheritedParameter_feature = Inherited Parameter
+_UI_RedefinableTemplateSignature_classifier_feature = Classifier
+_UI_ClassifierTemplateParameter_allowSubstitutable_feature = Allow Substitutable
+_UI_ClassifierTemplateParameter_defaultClassifier_feature = Default Classifier
+_UI_ClassifierTemplateParameter_constrainingClassifier_feature = Constraining Classifier
+_UI_InterfaceRealization_contract_feature = Contract
+_UI_InterfaceRealization_implementingClassifier_feature = Implementing Classifier
+_UI_EncapsulatedClassifier_ownedPort_feature = Owned Port
+_UI_Extension_isRequired_feature = Is Required
+_UI_Extension_metaclass_feature = Metaclass
+_UI_StringExpression_subExpression_feature = Sub Expression
+_UI_StringExpression_owningExpression_feature = Owning Expression
+_UI_Expression_symbol_feature = Symbol
+_UI_Expression_operand_feature = Operand
+_UI_LiteralInteger_value_feature = Value
+_UI_LiteralString_value_feature = Value
+_UI_LiteralBoolean_value_feature = Value
+_UI_Slot_owningInstance_feature = Owning Instance
+_UI_Slot_definingFeature_feature = Defining Feature
+_UI_Slot_value_feature = Value
+_UI_InstanceSpecification_classifier_feature = Classifier
+_UI_InstanceSpecification_specification_feature = Specification
+_UI_InstanceSpecification_slot_feature = Slot
+_UI_Enumeration_ownedLiteral_feature = Owned Literal
+_UI_EnumerationLiteral_enumeration_feature = Enumeration
+_UI_InstanceValue_instance_feature = Instance
+_UI_LiteralUnlimitedNatural_value_feature = Value
+_UI_OpaqueBehavior_body_feature = Body
+_UI_OpaqueBehavior_language_feature = Language
+_UI_Message_messageKind_feature = Message Kind
+_UI_Message_messageSort_feature = Message Sort
+_UI_Message_receiveEvent_feature = Receive Event
+_UI_Message_sendEvent_feature = Send Event
+_UI_Message_connector_feature = Connector
+_UI_Message_interaction_feature = Interaction
+_UI_Message_argument_feature = Argument
+_UI_Message_signature_feature = Signature
+_UI_MessageEnd_message_feature = Message
+_UI_Interaction_lifeline_feature = Lifeline
+_UI_Interaction_fragment_feature = Fragment
+_UI_Interaction_action_feature = Action
+_UI_Interaction_formalGate_feature = Formal Gate
+_UI_Interaction_message_feature = Message
+_UI_InteractionFragment_covered_feature = Covered
+_UI_InteractionFragment_generalOrdering_feature = General Ordering
+_UI_InteractionFragment_enclosingInteraction_feature = Enclosing Interaction
+_UI_InteractionFragment_enclosingOperand_feature = Enclosing Operand
+_UI_Lifeline_represents_feature = Represents
+_UI_Lifeline_interaction_feature = Interaction
+_UI_Lifeline_selector_feature = Selector
+_UI_Lifeline_decomposedAs_feature = Decomposed As
+_UI_Lifeline_coveredBy_feature = Covered By
+_UI_InteractionUse_refersTo_feature = Refers To
+_UI_InteractionUse_actualGate_feature = Actual Gate
+_UI_InteractionUse_argument_feature = Argument
+_UI_Action_output_feature = Output
+_UI_Action_input_feature = Input
+_UI_Action_context_feature = Context
+_UI_Action_localPrecondition_feature = Local Precondition
+_UI_Action_localPostcondition_feature = Local Postcondition
+_UI_ExecutableNode_handler_feature = Handler
+_UI_ActivityNode_outgoing_feature = Outgoing
+_UI_ActivityNode_inGroup_feature = In Group
+_UI_ActivityNode_inPartition_feature = In Partition
+_UI_ActivityNode_inStructuredNode_feature = In Structured Node
+_UI_ActivityNode_activity_feature = Activity
+_UI_ActivityNode_incoming_feature = Incoming
+_UI_ActivityNode_inInterruptibleRegion_feature = In Interruptible Region
+_UI_ActivityNode_redefinedNode_feature = Redefined Node
+_UI_ActivityEdge_activity_feature = Activity
+_UI_ActivityEdge_inGroup_feature = In Group
+_UI_ActivityEdge_inPartition_feature = In Partition
+_UI_ActivityEdge_inStructuredNode_feature = In Structured Node
+_UI_ActivityEdge_target_feature = Target
+_UI_ActivityEdge_redefinedEdge_feature = Redefined Edge
+_UI_ActivityEdge_guard_feature = Guard
+_UI_ActivityEdge_weight_feature = Weight
+_UI_ActivityEdge_interrupts_feature = Interrupts
+_UI_ActivityEdge_source_feature = Source
+_UI_Activity_isReadOnly_feature = Is Read Only
+_UI_Activity_partition_feature = Partition
+_UI_Activity_group_feature = Group
+_UI_Activity_isSingleExecution_feature = Is Single Execution
+_UI_Activity_structuredNode_feature = Structured Node
+_UI_Activity_variable_feature = Variable
+_UI_Activity_node_feature = Node
+_UI_Activity_edge_feature = Edge
+_UI_ActivityPartition_isDimension_feature = Is Dimension
+_UI_ActivityPartition_isExternal_feature = Is External
+_UI_ActivityPartition_edge_feature = Edge
+_UI_ActivityPartition_node_feature = Node
+_UI_ActivityPartition_subpartition_feature = Subpartition
+_UI_ActivityPartition_superPartition_feature = Super Partition
+_UI_ActivityPartition_represents_feature = Represents
+_UI_ActivityGroup_subgroup_feature = Subgroup
+_UI_ActivityGroup_superGroup_feature = Super Group
+_UI_ActivityGroup_containedNode_feature = Contained Node
+_UI_ActivityGroup_inActivity_feature = In Activity
+_UI_ActivityGroup_containedEdge_feature = Contained Edge
+_UI_StructuredActivityNode_variable_feature = Variable
+_UI_StructuredActivityNode_node_feature = Node
+_UI_StructuredActivityNode_mustIsolate_feature = Must Isolate
+_UI_StructuredActivityNode_edge_feature = Edge
+_UI_Variable_activityScope_feature = Activity Scope
+_UI_Variable_scope_feature = Scope
+_UI_InterruptibleActivityRegion_node_feature = Node
+_UI_InterruptibleActivityRegion_interruptingEdge_feature = Interrupting Edge
+_UI_ExceptionHandler_handlerBody_feature = Handler Body
+_UI_ExceptionHandler_exceptionInput_feature = Exception Input
+_UI_ExceptionHandler_exceptionType_feature = Exception Type
+_UI_ExceptionHandler_protectedNode_feature = Protected Node
+_UI_ObjectNode_ordering_feature = Ordering
+_UI_ObjectNode_isControlType_feature = Is Control Type
+_UI_ObjectNode_upperBound_feature = Upper Bound
+_UI_ObjectNode_inState_feature = In State
+_UI_ObjectNode_selection_feature = Selection
+_UI_Pin_isControl_feature = Is Control
+_UI_GeneralOrdering_before_feature = Before
+_UI_GeneralOrdering_after_feature = After
+_UI_OccurrenceSpecification_toBefore_feature = To Before
+_UI_OccurrenceSpecification_event_feature = Event
+_UI_OccurrenceSpecification_toAfter_feature = To After
+_UI_InteractionOperand_guard_feature = Guard
+_UI_InteractionOperand_fragment_feature = Fragment
+_UI_InteractionConstraint_minint_feature = Minint
+_UI_InteractionConstraint_maxint_feature = Maxint
+_UI_ExecutionSpecification_start_feature = Start
+_UI_ExecutionSpecification_finish_feature = Finish
+_UI_ExecutionOccurrenceSpecification_execution_feature = Execution
+_UI_StateInvariant_invariant_feature = Invariant
+_UI_ActionExecutionSpecification_action_feature = Action
+_UI_BehaviorExecutionSpecification_behavior_feature = Behavior
+_UI_SendOperationEvent_operation_feature = Operation
+_UI_SendSignalEvent_signal_feature = Signal
+_UI_CombinedFragment_interactionOperator_feature = Interaction Operator
+_UI_CombinedFragment_operand_feature = Operand
+_UI_CombinedFragment_cfragmentGate_feature = Cfragment Gate
+_UI_Continuation_setting_feature = Setting
+_UI_ConsiderIgnoreFragment_message_feature = Message
+_UI_CallEvent_operation_feature = Operation
+_UI_ChangeEvent_changeExpression_feature = Change Expression
+_UI_SignalEvent_signal_feature = Signal
+_UI_CreateObjectAction_classifier_feature = Classifier
+_UI_CreateObjectAction_result_feature = Result
+_UI_DestroyObjectAction_isDestroyLinks_feature = Is Destroy Links
+_UI_DestroyObjectAction_isDestroyOwnedObjects_feature = Is Destroy Owned Objects
+_UI_DestroyObjectAction_target_feature = Target
+_UI_TestIdentityAction_first_feature = First
+_UI_TestIdentityAction_second_feature = Second
+_UI_TestIdentityAction_result_feature = Result
+_UI_ReadSelfAction_result_feature = Result
+_UI_StructuralFeatureAction_structuralFeature_feature = Structural Feature
+_UI_StructuralFeatureAction_object_feature = Object
+_UI_ReadStructuralFeatureAction_result_feature = Result
+_UI_WriteStructuralFeatureAction_value_feature = Value
+_UI_RemoveStructuralFeatureValueAction_isRemoveDuplicates_feature = Is Remove Duplicates
+_UI_RemoveStructuralFeatureValueAction_removeAt_feature = Remove At
+_UI_AddStructuralFeatureValueAction_isReplaceAll_feature = Is Replace All
+_UI_AddStructuralFeatureValueAction_insertAt_feature = Insert At
+_UI_LinkAction_endData_feature = End Data
+_UI_LinkAction_inputValue_feature = Input Value
+_UI_LinkEndData_value_feature = Value
+_UI_LinkEndData_end_feature = End
+_UI_LinkEndData_qualifier_feature = Qualifier
+_UI_QualifierValue_qualifier_feature = Qualifier
+_UI_QualifierValue_value_feature = Value
+_UI_ReadLinkAction_result_feature = Result
+_UI_LinkEndCreationData_isReplaceAll_feature = Is Replace All
+_UI_LinkEndCreationData_insertAt_feature = Insert At
+_UI_LinkEndDestructionData_isDestroyDuplicates_feature = Is Destroy Duplicates
+_UI_LinkEndDestructionData_destroyAt_feature = Destroy At
+_UI_ClearAssociationAction_object_feature = Object
+_UI_ClearAssociationAction_association_feature = Association
+_UI_BroadcastSignalAction_signal_feature = Signal
+_UI_InvocationAction_argument_feature = Argument
+_UI_InvocationAction_onPort_feature = On Port
+_UI_SendObjectAction_target_feature = Target
+_UI_SendObjectAction_request_feature = Request
+_UI_ValueSpecificationAction_value_feature = Value
+_UI_ValueSpecificationAction_result_feature = Result
+_UI_TimeExpression_firstTime_feature = First Time
+_UI_TimeExpression_event_feature = Event
+_UI_Duration_firstTime_feature = First Time
+_UI_Duration_event_feature = Event
+_UI_TimeObservationAction_now_feature = Now
+_UI_ValuePin_value_feature = Value
+_UI_Interval_min_feature = Min
+_UI_Interval_max_feature = Max
+_UI_DurationObservationAction_duration_feature = Duration
+_UI_OpaqueAction_body_feature = Body
+_UI_OpaqueAction_language_feature = Language
+_UI_OpaqueAction_inputValue_feature = Input Value
+_UI_OpaqueAction_outputValue_feature = Output Value
+_UI_CallAction_isSynchronous_feature = Is Synchronous
+_UI_CallAction_result_feature = Result
+_UI_SendSignalAction_target_feature = Target
+_UI_SendSignalAction_signal_feature = Signal
+_UI_CallOperationAction_operation_feature = Operation
+_UI_CallOperationAction_target_feature = Target
+_UI_CallBehaviorAction_behavior_feature = Behavior
+_UI_InformationItem_represented_feature = Represented
+_UI_InformationFlow_realization_feature = Realization
+_UI_InformationFlow_conveyed_feature = Conveyed
+_UI_InformationFlow_informationSource_feature = Information Source
+_UI_InformationFlow_informationTarget_feature = Information Target
+_UI_InformationFlow_realizingActivityEdge_feature = Realizing Activity Edge
+_UI_InformationFlow_realizingConnector_feature = Realizing Connector
+_UI_InformationFlow_realizingMessage_feature = Realizing Message
+_UI_Model_viewpoint_feature = Viewpoint
+_UI_ReadExtentAction_result_feature = Result
+_UI_ReadExtentAction_classifier_feature = Classifier
+_UI_ReclassifyObjectAction_isReplaceAll_feature = Is Replace All
+_UI_ReclassifyObjectAction_oldClassifier_feature = Old Classifier
+_UI_ReclassifyObjectAction_newClassifier_feature = New Classifier
+_UI_ReclassifyObjectAction_object_feature = Object
+_UI_ReadIsClassifiedObjectAction_isDirect_feature = Is Direct
+_UI_ReadIsClassifiedObjectAction_classifier_feature = Classifier
+_UI_ReadIsClassifiedObjectAction_result_feature = Result
+_UI_ReadIsClassifiedObjectAction_object_feature = Object
+_UI_StartClassifierBehaviorAction_object_feature = Object
+_UI_ReadLinkObjectEndAction_object_feature = Object
+_UI_ReadLinkObjectEndAction_end_feature = End
+_UI_ReadLinkObjectEndAction_result_feature = Result
+_UI_ReadLinkObjectEndQualifierAction_object_feature = Object
+_UI_ReadLinkObjectEndQualifierAction_result_feature = Result
+_UI_ReadLinkObjectEndQualifierAction_qualifier_feature = Qualifier
+_UI_CreateLinkObjectAction_result_feature = Result
+_UI_AcceptEventAction_isUnmarshall_feature = Is Unmarshall
+_UI_AcceptEventAction_result_feature = Result
+_UI_AcceptEventAction_trigger_feature = Trigger
+_UI_AcceptCallAction_returnInformation_feature = Return Information
+_UI_ReplyAction_replyToCall_feature = Reply To Call
+_UI_ReplyAction_returnInformation_feature = Return Information
+_UI_ReplyAction_replyValue_feature = Reply Value
+_UI_UnmarshallAction_result_feature = Result
+_UI_UnmarshallAction_unmarshallType_feature = Unmarshall Type
+_UI_UnmarshallAction_object_feature = Object
+_UI_ActivityParameterNode_parameter_feature = Parameter
+_UI_DecisionNode_decisionInput_feature = Decision Input
+_UI_JoinNode_isCombineDuplicate_feature = Is Combine Duplicate
+_UI_JoinNode_joinSpec_feature = Join Spec
+_UI_ObjectFlow_isMulticast_feature = Is Multicast
+_UI_ObjectFlow_isMultireceive_feature = Is Multireceive
+_UI_ObjectFlow_transformation_feature = Transformation
+_UI_ObjectFlow_selection_feature = Selection
+_UI_SequenceNode_executableNode_feature = Executable Node
+_UI_ConditionalNode_isDeterminate_feature = Is Determinate
+_UI_ConditionalNode_isAssured_feature = Is Assured
+_UI_ConditionalNode_clause_feature = Clause
+_UI_ConditionalNode_result_feature = Result
+_UI_Clause_test_feature = Test
+_UI_Clause_body_feature = Body
+_UI_Clause_predecessorClause_feature = Predecessor Clause
+_UI_Clause_successorClause_feature = Successor Clause
+_UI_Clause_decider_feature = Decider
+_UI_Clause_bodyOutput_feature = Body Output
+_UI_LoopNode_isTestedFirst_feature = Is Tested First
+_UI_LoopNode_bodyPart_feature = Body Part
+_UI_LoopNode_setupPart_feature = Setup Part
+_UI_LoopNode_decider_feature = Decider
+_UI_LoopNode_test_feature = Test
+_UI_LoopNode_result_feature = Result
+_UI_LoopNode_loopVariable_feature = Loop Variable
+_UI_LoopNode_bodyOutput_feature = Body Output
+_UI_LoopNode_loopVariableInput_feature = Loop Variable Input
+_UI_ExpansionNode_regionAsOutput_feature = Region As Output
+_UI_ExpansionNode_regionAsInput_feature = Region As Input
+_UI_ExpansionRegion_mode_feature = Mode
+_UI_ExpansionRegion_inputElement_feature = Input Element
+_UI_ExpansionRegion_outputElement_feature = Output Element
+_UI_ComponentRealization_abstraction_feature = Abstraction
+_UI_ComponentRealization_realizingClassifier_feature = Realizing Classifier
+_UI_Component_isIndirectlyInstantiated_feature = Is Indirectly Instantiated
+_UI_Component_required_feature = Required
+_UI_Component_provided_feature = Provided
+_UI_Component_packagedElement_feature = Packaged Element
+_UI_Component_realization_feature = Realization
+_UI_Node_nestedNode_feature = Nested Node
+_UI_TimeEvent_isRelative_feature = Is Relative
+_UI_TimeEvent_when_feature = When
+_UI_ProtocolTransition_postCondition_feature = Post Condition
+_UI_ProtocolTransition_referred_feature = Referred
+_UI_ProtocolTransition_preCondition_feature = Pre Condition
+_UI_Unknown_feature = Unspecified
+
+_UI_VisibilityKind_public_literal = public
+_UI_VisibilityKind_private_literal = private
+_UI_VisibilityKind_protected_literal = protected
+_UI_VisibilityKind_package_literal = package
+_UI_CallConcurrencyKind_sequential_literal = sequential
+_UI_CallConcurrencyKind_guarded_literal = guarded
+_UI_CallConcurrencyKind_concurrent_literal = concurrent
+_UI_TransitionKind_internal_literal = internal
+_UI_TransitionKind_local_literal = local
+_UI_TransitionKind_external_literal = external
+_UI_PseudostateKind_initial_literal = initial
+_UI_PseudostateKind_deepHistory_literal = deepHistory
+_UI_PseudostateKind_shallowHistory_literal = shallowHistory
+_UI_PseudostateKind_join_literal = join
+_UI_PseudostateKind_fork_literal = fork
+_UI_PseudostateKind_junction_literal = junction
+_UI_PseudostateKind_choice_literal = choice
+_UI_PseudostateKind_entryPoint_literal = entryPoint
+_UI_PseudostateKind_exitPoint_literal = exitPoint
+_UI_PseudostateKind_terminate_literal = terminate
+_UI_AggregationKind_none_literal = none
+_UI_AggregationKind_shared_literal = shared
+_UI_AggregationKind_composite_literal = composite
+_UI_ParameterDirectionKind_in_literal = in
+_UI_ParameterDirectionKind_inout_literal = inout
+_UI_ParameterDirectionKind_out_literal = out
+_UI_ParameterDirectionKind_return_literal = return
+_UI_ParameterEffectKind_create_literal = create
+_UI_ParameterEffectKind_read_literal = read
+_UI_ParameterEffectKind_update_literal = update
+_UI_ParameterEffectKind_delete_literal = delete
+_UI_ConnectorKind_assembly_literal = assembly
+_UI_ConnectorKind_delegation_literal = delegation
+_UI_MessageKind_complete_literal = complete
+_UI_MessageKind_lost_literal = lost
+_UI_MessageKind_found_literal = found
+_UI_MessageKind_unknown_literal = unknown
+_UI_MessageSort_synchCall_literal = synchCall
+_UI_MessageSort_asynchCall_literal = asynchCall
+_UI_MessageSort_asynchSignal_literal = asynchSignal
+_UI_ObjectNodeOrderingKind_unordered_literal = unordered
+_UI_ObjectNodeOrderingKind_ordered_literal = ordered
+_UI_ObjectNodeOrderingKind_LIFO_literal = LIFO
+_UI_ObjectNodeOrderingKind_FIFO_literal = FIFO
+_UI_InteractionOperatorKind_seq_literal = seq
+_UI_InteractionOperatorKind_alt_literal = alt
+_UI_InteractionOperatorKind_opt_literal = opt
+_UI_InteractionOperatorKind_break_literal = break
+_UI_InteractionOperatorKind_par_literal = par
+_UI_InteractionOperatorKind_strict_literal = strict
+_UI_InteractionOperatorKind_loop_literal = loop
+_UI_InteractionOperatorKind_critical_literal = critical
+_UI_InteractionOperatorKind_neg_literal = neg
+_UI_InteractionOperatorKind_assert_literal = assert
+_UI_InteractionOperatorKind_ignore_literal = ignore
+_UI_InteractionOperatorKind_consider_literal = consider
+_UI_ExpansionKind_parallel_literal = parallel
+_UI_ExpansionKind_iterative_literal = iterative
+_UI_ExpansionKind_stream_literal = stream
+_UI_VariableAction_type = Variable Action
+_UI_ReadVariableAction_type = Read Variable Action
+_UI_WriteVariableAction_type = Write Variable Action
+_UI_ClearVariableAction_type = Clear Variable Action
+_UI_AddVariableValueAction_type = Add Variable Value Action
+_UI_RemoveVariableValueAction_type = Remove Variable Value Action
+_UI_RaiseExceptionAction_type = Raise Exception Action
+_UI_ActionInputPin_type = Action Input Pin
+_UI_VariableAction_variable_feature = Variable
+_UI_ReadVariableAction_result_feature = Result
+_UI_WriteVariableAction_value_feature = Value
+_UI_AddVariableValueAction_isReplaceAll_feature = Is Replace All
+_UI_AddVariableValueAction_insertAt_feature = Insert At
+_UI_RemoveVariableValueAction_isRemoveDuplicates_feature = Is Remove Duplicates
+_UI_RemoveVariableValueAction_removeAt_feature = Remove At
+_UI_RaiseExceptionAction_exception_feature = Exception
+_UI_ActionInputPin_fromAction_feature = From Action
diff --git a/plugins/org.eclipse.uml2.uml.edit/plugin.xml b/plugins/org.eclipse.uml2.uml.edit/plugin.xml
new file mode 100644
index 00000000..0765a07d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2005 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
+
+ $Id: plugin.xml,v 1.1 2005/11/14 22:11:37 khussey Exp $
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri = "http://www.eclipse.org/uml2/2.0.0/UML"
+ class = "org.eclipse.uml2.uml.edit.provider.UMLItemProviderAdapterFactory"
+ supportedTypes =
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource" />
+ </extension>
+
+</plugin>
+
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/UMLEditPlugin.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/UMLEditPlugin.java
new file mode 100644
index 00000000..c4fc4828
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/UMLEditPlugin.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UMLEditPlugin.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the UML edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class UMLEditPlugin
+ extends EMFPlugin {
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final UMLEditPlugin INSTANCE = new UMLEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLEditPlugin() {
+ super(new ResourceLocator[]{});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation
+ extends EclipsePlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AbstractionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AbstractionItemProvider.java
new file mode 100644
index 00000000..134c1fa1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AbstractionItemProvider.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AbstractionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Abstraction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractionItemProvider
+ extends DependencyItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMappingPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Mapping feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMappingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Abstraction_mapping_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Abstraction_mapping_feature", "_UI_Abstraction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAbstraction_Mapping(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getAbstraction_Mapping());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Abstraction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Abstraction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Abstraction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Abstraction_type") : //$NON-NLS-1$
+ getString("_UI_Abstraction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Abstraction.class)) {
+ case UMLPackage.ABSTRACTION__MAPPING :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAbstraction_Mapping(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptCallActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptCallActionItemProvider.java
new file mode 100644
index 00000000..f82bc670
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptCallActionItemProvider.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AcceptCallActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AcceptCallAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AcceptCallActionItemProvider
+ extends AcceptEventActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptCallActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addReturnInformationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Return Information feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReturnInformationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AcceptCallAction_returnInformation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AcceptCallAction_returnInformation_feature", "_UI_AcceptCallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAcceptCallAction_ReturnInformation(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns AcceptCallAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/AcceptCallAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((AcceptCallAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_AcceptCallAction_type") : //$NON-NLS-1$
+ getString("_UI_AcceptCallAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptEventActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptEventActionItemProvider.java
new file mode 100644
index 00000000..8c21ed80
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AcceptEventActionItemProvider.java
@@ -0,0 +1,248 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AcceptEventActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AcceptEventAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AcceptEventActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptEventActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsUnmarshallPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ addTriggerPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Unmarshall feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsUnmarshallPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AcceptEventAction_isUnmarshall_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AcceptEventAction_isUnmarshall_feature", "_UI_AcceptEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAcceptEventAction_IsUnmarshall(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AcceptEventAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AcceptEventAction_result_feature", "_UI_AcceptEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAcceptEventAction_Result(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Trigger feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTriggerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AcceptEventAction_trigger_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AcceptEventAction_trigger_feature", "_UI_AcceptEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAcceptEventAction_Trigger(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getAcceptEventAction_Trigger());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns AcceptEventAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/AcceptEventAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((AcceptEventAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_AcceptEventAction_type") : //$NON-NLS-1$
+ getString("_UI_AcceptEventAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(AcceptEventAction.class)) {
+ case UMLPackage.ACCEPT_EVENT_ACTION__IS_UNMARSHALL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ACCEPT_EVENT_ACTION__TRIGGER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAcceptEventAction_Trigger(), UMLFactory.eINSTANCE
+ .createTrigger()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionExecutionSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionExecutionSpecificationItemProvider.java
new file mode 100644
index 00000000..034b59cf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionExecutionSpecificationItemProvider.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActionExecutionSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ActionExecutionSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActionExecutionSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActionExecutionSpecificationItemProvider
+ extends ExecutionSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActionExecutionSpecificationItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addActionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Action feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addActionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActionExecutionSpecification_action_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActionExecutionSpecification_action_feature", "_UI_ActionExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActionExecutionSpecification_Action(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns ActionExecutionSpecification.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ActionExecutionSpecification"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ActionExecutionSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ActionExecutionSpecification_type") : //$NON-NLS-1$
+ getString("_UI_ActionExecutionSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionInputPinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionInputPinItemProvider.java
new file mode 100644
index 00000000..006ced21
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionInputPinItemProvider.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActionInputPinItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ActionInputPin;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActionInputPin} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActionInputPinItemProvider
+ extends InputPinItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActionInputPinItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addFromActionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the From Action feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFromActionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActionInputPin_fromAction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActionInputPin_fromAction_feature", "_UI_ActionInputPin_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActionInputPin_FromAction(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ActionInputPin.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ActionInputPin"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ActionInputPin) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ActionInputPin_type") : //$NON-NLS-1$
+ getString("_UI_ActionInputPin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ActionInputPin.class)) {
+ case UMLPackage.ACTION_INPUT_PIN__FROM_ACTION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createStructuredActivityNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createCreateObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createDestroyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createTestIdentityAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadSelfAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createClearStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createRemoveStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createAddStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createCreateLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createDestroyLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createClearAssociationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createBroadcastSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createSendObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createValueSpecificationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createTimeObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createDurationObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createOpaqueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createSendSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createCallOperationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createCallBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createClearVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createAddVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createRemoveVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createRaiseExceptionAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadExtentAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReclassifyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadIsClassifiedObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createStartClassifierBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndQualifierAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createCreateLinkObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createAcceptEventAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createAcceptCallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createReplyAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createUnmarshallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createSequenceNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createConditionalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createLoopNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActionInputPin_FromAction(), UMLFactory.eINSTANCE
+ .createExpansionRegion()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionItemProvider.java
new file mode 100644
index 00000000..d4be8899
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActionItemProvider.java
@@ -0,0 +1,340 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Action} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActionItemProvider
+ extends ExecutableNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOutputPropertyDescriptor(object);
+ addInputPropertyDescriptor(object);
+ addContextPropertyDescriptor(object);
+ addLocalPreconditionPropertyDescriptor(object);
+ addLocalPostconditionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Output feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOutputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Action_output_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Action_output_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAction_Output(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Input feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Action_input_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Action_input_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAction_Input(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Action_context_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Action_context_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAction_Context(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Local Precondition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLocalPreconditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Action_localPrecondition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Action_localPrecondition_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAction_LocalPrecondition(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Local Postcondition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLocalPostconditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Action_localPostcondition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Action_localPostcondition_feature", "_UI_Action_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAction_LocalPostcondition(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Action.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Action"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Action) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Action_type") : //$NON-NLS-1$
+ getString("_UI_Action_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Action.class)) {
+ case UMLPackage.ACTION__LOCAL_PRECONDITION :
+ case UMLPackage.ACTION__LOCAL_POSTCONDITION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityEdgeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityEdgeItemProvider.java
new file mode 100644
index 00000000..bbf951b4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityEdgeItemProvider.java
@@ -0,0 +1,509 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActivityEdgeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityEdge} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivityEdgeItemProvider
+ extends RedefinableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdgeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addActivityPropertyDescriptor(object);
+ addInGroupPropertyDescriptor(object);
+ addInPartitionPropertyDescriptor(object);
+ addInStructuredNodePropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ addRedefinedEdgePropertyDescriptor(object);
+ addGuardPropertyDescriptor(object);
+ addWeightPropertyDescriptor(object);
+ addInterruptsPropertyDescriptor(object);
+ addSourcePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Activity feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addActivityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_activity_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_activity_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_Activity(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the In Group feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInGroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_inGroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_inGroup_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_InGroup(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the In Partition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInPartitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_inPartition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_inPartition_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_InPartition(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the In Structured Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInStructuredNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_inStructuredNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_inStructuredNode_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_InStructuredNode(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_target_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_Target(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_redefinedEdge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_redefinedEdge_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_RedefinedEdge(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Guard feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGuardPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_guard_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_guard_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_Guard(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Weight feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addWeightPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_weight_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_weight_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_Weight(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Interrupts feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInterruptsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_interrupts_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_interrupts_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_Interrupts(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityEdge_source_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityEdge_source_feature", "_UI_ActivityEdge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityEdge_Source(), true, null,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getActivityEdge_Guard());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getActivityEdge_Weight());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ActivityEdge.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ActivityEdge"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ActivityEdge) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ActivityEdge_type") : //$NON-NLS-1$
+ getString("_UI_ActivityEdge_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ActivityEdge.class)) {
+ case UMLPackage.ACTIVITY_EDGE__GUARD :
+ case UMLPackage.ACTIVITY_EDGE__WEIGHT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Guard(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityEdge_Weight(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Guard()
+ || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Weight();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityFinalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityFinalNodeItemProvider.java
new file mode 100644
index 00000000..eba8a9c0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityFinalNodeItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActivityFinalNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ActivityFinalNode;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityFinalNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivityFinalNodeItemProvider
+ extends FinalNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityFinalNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ActivityFinalNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ActivityFinalNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ActivityFinalNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ActivityFinalNode_type") : //$NON-NLS-1$
+ getString("_UI_ActivityFinalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityGroupItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityGroupItemProvider.java
new file mode 100644
index 00000000..121e829a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityGroupItemProvider.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActivityGroupItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityGroup} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivityGroupItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroupItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSubgroupPropertyDescriptor(object);
+ addSuperGroupPropertyDescriptor(object);
+ addContainedNodePropertyDescriptor(object);
+ addInActivityPropertyDescriptor(object);
+ addContainedEdgePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Subgroup feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubgroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_subgroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_subgroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_Subgroup(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Super Group feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSuperGroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_superGroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_superGroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_SuperGroup(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Contained Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainedNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_containedNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedNode_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_ContainedNode(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the In Activity feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInActivityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_inActivity_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_inActivity_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_InActivity(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Contained Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainedEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_containedEdge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedEdge_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_ContainedEdge(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_ActivityGroup_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityItemProvider.java
new file mode 100644
index 00000000..c496e713
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityItemProvider.java
@@ -0,0 +1,684 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActivityItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Activity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivityItemProvider
+ extends BehaviorItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsReadOnlyPropertyDescriptor(object);
+ addPartitionPropertyDescriptor(object);
+ addGroupPropertyDescriptor(object);
+ addIsSingleExecutionPropertyDescriptor(object);
+ addStructuredNodePropertyDescriptor(object);
+ addVariablePropertyDescriptor(object);
+ addNodePropertyDescriptor(object);
+ addEdgePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Read Only feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsReadOnlyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_isReadOnly_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_isReadOnly_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_IsReadOnly(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Partition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPartitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_partition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_partition_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_Partition(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Group feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_group_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_group_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_Group(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Single Execution feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsSingleExecutionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_isSingleExecution_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_isSingleExecution_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_IsSingleExecution(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Structured Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStructuredNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_structuredNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_structuredNode_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_StructuredNode(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Variable feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVariablePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_variable_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_variable_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_Variable(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_node_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_node_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_Node(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Activity_edge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Activity_edge_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivity_Edge(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Group());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Variable());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Node());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getActivity_Edge());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Activity.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Activity"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Activity) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Activity_type") : //$NON-NLS-1$
+ getString("_UI_Activity_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Activity.class)) {
+ case UMLPackage.ACTIVITY__IS_READ_ONLY :
+ case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ACTIVITY__GROUP :
+ case UMLPackage.ACTIVITY__VARIABLE :
+ case UMLPackage.ACTIVITY__NODE :
+ case UMLPackage.ACTIVITY__EDGE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Group(), UMLFactory.eINSTANCE
+ .createActivityPartition()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Group(), UMLFactory.eINSTANCE
+ .createStructuredActivityNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Group(), UMLFactory.eINSTANCE
+ .createInterruptibleActivityRegion()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Group(), UMLFactory.eINSTANCE.createSequenceNode()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Group(),
+ UMLFactory.eINSTANCE.createConditionalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Group(), UMLFactory.eINSTANCE.createLoopNode()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Group(),
+ UMLFactory.eINSTANCE.createExpansionRegion()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Variable(), UMLFactory.eINSTANCE.createVariable()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createStructuredActivityNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createOutputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createCreateObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createDestroyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createTestIdentityAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createReadSelfAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createReadStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createClearStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createRemoveStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createAddStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createReadLinkAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createCreateLinkAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createDestroyLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createClearAssociationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createBroadcastSignalAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createSendObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createValueSpecificationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createTimeObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createDurationObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createOpaqueAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createSendSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createCallOperationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createCallBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createReadVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createClearVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createAddVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createRemoveVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createRaiseExceptionAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createActionInputPin()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createReadExtentAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createReclassifyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createReadIsClassifiedObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createStartClassifierBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndQualifierAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createCreateLinkObjectAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createAcceptEventAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createAcceptCallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createReplyAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createUnmarshallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createInitialNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE
+ .createActivityParameterNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createForkNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createFlowFinalNode()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createCentralBufferNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createMergeNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createDecisionNode()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getActivity_Node(),
+ UMLFactory.eINSTANCE.createActivityFinalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createJoinNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createDataStoreNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createSequenceNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createConditionalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createLoopNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createExpansionNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Node(), UMLFactory.eINSTANCE.createExpansionRegion()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Edge(), UMLFactory.eINSTANCE.createActivityEdge()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Edge(), UMLFactory.eINSTANCE.createControlFlow()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivity_Edge(), UMLFactory.eINSTANCE.createObjectFlow()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()
+ || childFeature == UMLPackage.eINSTANCE.getActivity_Group()
+ || childFeature == UMLPackage.eINSTANCE.getActivity_Node();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getActivity_Group()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getActivity_Partition()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getActivity_Group()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getActivity_Partition()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE.getActivity_Partition()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getActivity_Group()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityNodeItemProvider.java
new file mode 100644
index 00000000..72f9c3ca
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityNodeItemProvider.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActivityNodeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivityNodeItemProvider
+ extends RedefinableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOutgoingPropertyDescriptor(object);
+ addInGroupPropertyDescriptor(object);
+ addInPartitionPropertyDescriptor(object);
+ addInStructuredNodePropertyDescriptor(object);
+ addActivityPropertyDescriptor(object);
+ addIncomingPropertyDescriptor(object);
+ addInInterruptibleRegionPropertyDescriptor(object);
+ addRedefinedNodePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Outgoing feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOutgoingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_outgoing_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_outgoing_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_Outgoing(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the In Group feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInGroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_inGroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inGroup_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_InGroup(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the In Partition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInPartitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_inPartition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inPartition_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_InPartition(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the In Structured Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInStructuredNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_inStructuredNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inStructuredNode_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_InStructuredNode(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Activity feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addActivityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_activity_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_activity_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_Activity(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Incoming feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIncomingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_incoming_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_incoming_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_Incoming(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the In Interruptible Region feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInInterruptibleRegionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_inInterruptibleRegion_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_inInterruptibleRegion_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_InInterruptibleRegion(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityNode_redefinedNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityNode_redefinedNode_feature", "_UI_ActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityNode_RedefinedNode(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ActivityNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ActivityNode_type") : //$NON-NLS-1$
+ getString("_UI_ActivityNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityParameterNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityParameterNodeItemProvider.java
new file mode 100644
index 00000000..78ce1c24
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityParameterNodeItemProvider.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActivityParameterNodeItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityParameterNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivityParameterNodeItemProvider
+ extends ObjectNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityParameterNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addParameterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityParameterNode_parameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityParameterNode_parameter_feature", "_UI_ActivityParameterNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityParameterNode_Parameter(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns ActivityParameterNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator()
+ .getImage("full/obj16/ActivityParameterNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ActivityParameterNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ActivityParameterNode_type") : //$NON-NLS-1$
+ getString("_UI_ActivityParameterNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityPartitionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityPartitionItemProvider.java
new file mode 100644
index 00000000..06241531
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActivityPartitionItemProvider.java
@@ -0,0 +1,415 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActivityPartitionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ActivityPartition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivityPartitionItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartitionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSubgroupPropertyDescriptor(object);
+ addSuperGroupPropertyDescriptor(object);
+ addContainedNodePropertyDescriptor(object);
+ addInActivityPropertyDescriptor(object);
+ addContainedEdgePropertyDescriptor(object);
+ addIsDimensionPropertyDescriptor(object);
+ addIsExternalPropertyDescriptor(object);
+ addEdgePropertyDescriptor(object);
+ addNodePropertyDescriptor(object);
+ addSubpartitionPropertyDescriptor(object);
+ addSuperPartitionPropertyDescriptor(object);
+ addRepresentsPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Subgroup feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubgroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_subgroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_subgroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_Subgroup(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Super Group feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSuperGroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_superGroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_superGroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_SuperGroup(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Contained Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainedNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_containedNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedNode_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_ContainedNode(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the In Activity feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInActivityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_inActivity_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_inActivity_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_InActivity(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Contained Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainedEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_containedEdge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedEdge_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_ContainedEdge(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Dimension feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDimensionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityPartition_isDimension_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_isDimension_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityPartition_IsDimension(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is External feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsExternalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityPartition_isExternal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_isExternal_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityPartition_IsExternal(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityPartition_edge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_edge_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityPartition_Edge(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityPartition_node_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_node_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityPartition_Node(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Subpartition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubpartitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityPartition_subpartition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_subpartition_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityPartition_Subpartition(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Super Partition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSuperPartitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityPartition_superPartition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_superPartition_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityPartition_SuperPartition(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Represents feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRepresentsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityPartition_represents_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityPartition_represents_feature", "_UI_ActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityPartition_Represents(), true,
+ null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getActivityPartition_Subpartition());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ActivityPartition.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ActivityPartition"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ActivityPartition) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ActivityPartition_type") : //$NON-NLS-1$
+ getString("_UI_ActivityPartition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ActivityPartition.class)) {
+ case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION :
+ case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ACTIVITY_PARTITION__SUBPARTITION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getActivityPartition_Subpartition(), UMLFactory.eINSTANCE
+ .createActivityPartition()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActorItemProvider.java
new file mode 100644
index 00000000..49750715
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ActorItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ActorItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Actor} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActorItemProvider
+ extends BehavioredClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Actor.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Actor"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Actor) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Actor_type") : //$NON-NLS-1$
+ getString("_UI_Actor_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddStructuralFeatureValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddStructuralFeatureValueActionItemProvider.java
new file mode 100644
index 00000000..04376d54
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddStructuralFeatureValueActionItemProvider.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AddStructuralFeatureValueActionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AddStructuralFeatureValueActionItemProvider
+ extends WriteStructuralFeatureActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AddStructuralFeatureValueActionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsReplaceAllPropertyDescriptor(object);
+ addInsertAtPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Replace All feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsReplaceAllPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AddStructuralFeatureValueAction_isReplaceAll_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AddStructuralFeatureValueAction_isReplaceAll_feature", "_UI_AddStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getAddStructuralFeatureValueAction_IsReplaceAll(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Insert At feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInsertAtPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AddStructuralFeatureValueAction_insertAt_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AddStructuralFeatureValueAction_insertAt_feature", "_UI_AddStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getAddStructuralFeatureValueAction_InsertAt(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getAddStructuralFeatureValueAction_InsertAt());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns AddStructuralFeatureValueAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/AddStructuralFeatureValueAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((AddStructuralFeatureValueAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_AddStructuralFeatureValueAction_type") : //$NON-NLS-1$
+ getString("_UI_AddStructuralFeatureValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification
+ .getFeatureID(AddStructuralFeatureValueAction.class)) {
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REPLACE_ALL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INSERT_AT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAddStructuralFeatureValueAction_InsertAt(),
+ UMLFactory.eINSTANCE.createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAddStructuralFeatureValueAction_InsertAt(),
+ UMLFactory.eINSTANCE.createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAddStructuralFeatureValueAction_InsertAt(),
+ UMLFactory.eINSTANCE.createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object()
+ || childFeature == UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAddStructuralFeatureValueAction_InsertAt();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddVariableValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddVariableValueActionItemProvider.java
new file mode 100644
index 00000000..934a3b10
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AddVariableValueActionItemProvider.java
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AddVariableValueActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AddVariableValueAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AddVariableValueActionItemProvider
+ extends WriteVariableActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AddVariableValueActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsReplaceAllPropertyDescriptor(object);
+ addInsertAtPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Replace All feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsReplaceAllPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AddVariableValueAction_isReplaceAll_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AddVariableValueAction_isReplaceAll_feature", "_UI_AddVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAddVariableValueAction_IsReplaceAll(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Insert At feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInsertAtPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AddVariableValueAction_insertAt_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_AddVariableValueAction_insertAt_feature", "_UI_AddVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAddVariableValueAction_InsertAt(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getAddVariableValueAction_InsertAt());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns AddVariableValueAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/AddVariableValueAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((AddVariableValueAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_AddVariableValueAction_type") : //$NON-NLS-1$
+ getString("_UI_AddVariableValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(AddVariableValueAction.class)) {
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IS_REPLACE_ALL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INSERT_AT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAddVariableValueAction_InsertAt(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAddVariableValueAction_InsertAt(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAddVariableValueAction_InsertAt(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getWriteVariableAction_Value()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAddVariableValueAction_InsertAt();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AnyReceiveEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AnyReceiveEventItemProvider.java
new file mode 100644
index 00000000..f8eb8086
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AnyReceiveEventItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AnyReceiveEventItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.AnyReceiveEvent;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AnyReceiveEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AnyReceiveEventItemProvider
+ extends MessageEventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnyReceiveEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns AnyReceiveEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/AnyReceiveEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((AnyReceiveEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_AnyReceiveEvent_type") : //$NON-NLS-1$
+ getString("_UI_AnyReceiveEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ArtifactItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ArtifactItemProvider.java
new file mode 100644
index 00000000..467a0af9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ArtifactItemProvider.java
@@ -0,0 +1,405 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ArtifactItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Artifact} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ArtifactItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArtifactItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addFileNamePropertyDescriptor(object);
+ addNestedArtifactPropertyDescriptor(object);
+ addManifestationPropertyDescriptor(object);
+ addOwnedOperationPropertyDescriptor(object);
+ addOwnedAttributePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the File Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFileNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Artifact_fileName_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Artifact_fileName_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getArtifact_FileName(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Nested Artifact feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNestedArtifactPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Artifact_nestedArtifact_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Artifact_nestedArtifact_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getArtifact_NestedArtifact(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Manifestation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addManifestationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Artifact_manifestation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Artifact_manifestation_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getArtifact_Manifestation(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Artifact_ownedOperation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Artifact_ownedOperation_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getArtifact_OwnedOperation(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedAttributePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Artifact_ownedAttribute_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Artifact_ownedAttribute_feature", "_UI_Artifact_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getArtifact_OwnedAttribute(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getArtifact_NestedArtifact());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getArtifact_Manifestation());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getArtifact_OwnedOperation());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getArtifact_OwnedAttribute());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Artifact.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Artifact"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Artifact) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Artifact_type") : //$NON-NLS-1$
+ getString("_UI_Artifact_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Artifact.class)) {
+ case UMLPackage.ARTIFACT__FILE_NAME :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ARTIFACT__NESTED_ARTIFACT :
+ case UMLPackage.ARTIFACT__MANIFESTATION :
+ case UMLPackage.ARTIFACT__OWNED_OPERATION :
+ case UMLPackage.ARTIFACT__OWNED_ATTRIBUTE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getArtifact_NestedArtifact(), UMLFactory.eINSTANCE
+ .createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getArtifact_NestedArtifact(), UMLFactory.eINSTANCE
+ .createDeploymentSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getArtifact_Manifestation(), UMLFactory.eINSTANCE
+ .createManifestation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getArtifact_OwnedOperation(), UMLFactory.eINSTANCE
+ .createOperation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getArtifact_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getArtifact_OwnedAttribute(), UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getArtifact_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getArtifact_Manifestation()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE.getArtifact_Manifestation()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getArtifact_Manifestation()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE.getArtifact_Manifestation()}, value,
+ collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationClassItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationClassItemProvider.java
new file mode 100644
index 00000000..c4097074
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationClassItemProvider.java
@@ -0,0 +1,411 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AssociationClassItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.AssociationClass} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AssociationClassItemProvider
+ extends ClassItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationClassItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRelatedElementPropertyDescriptor(object);
+ addIsDerivedPropertyDescriptor(object);
+ addEndTypePropertyDescriptor(object);
+ addMemberEndPropertyDescriptor(object);
+ addNavigableOwnedEndPropertyDescriptor(object);
+ addOwnedEndPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Related Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRelatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Derived feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDerivedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_isDerived_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_isDerived_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_IsDerived(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the End Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_endType_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_endType_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_EndType(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Member End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMemberEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_memberEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_memberEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_MemberEnd(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Navigable Owned End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNavigableOwnedEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_navigableOwnedEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_navigableOwnedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_ownedEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_ownedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_OwnedEnd(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getAssociation_OwnedEnd());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns AssociationClass.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/AssociationClass"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((AssociationClass) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_AssociationClass_type") : //$NON-NLS-1$
+ getString("_UI_AssociationClass_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(AssociationClass.class)) {
+ case UMLPackage.ASSOCIATION_CLASS__IS_DERIVED :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ASSOCIATION_CLASS__OWNED_END :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute()
+ || childFeature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_MemberEnd()}, collection, index);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_NavigableOwnedEnd()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_MemberEnd()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_NavigableOwnedEnd()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationItemProvider.java
new file mode 100644
index 00000000..6d131fcb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/AssociationItemProvider.java
@@ -0,0 +1,403 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: AssociationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Association} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AssociationItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRelatedElementPropertyDescriptor(object);
+ addIsDerivedPropertyDescriptor(object);
+ addEndTypePropertyDescriptor(object);
+ addMemberEndPropertyDescriptor(object);
+ addNavigableOwnedEndPropertyDescriptor(object);
+ addOwnedEndPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Related Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRelatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Derived feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDerivedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_isDerived_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_isDerived_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_IsDerived(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the End Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_endType_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_endType_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_EndType(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Member End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMemberEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_memberEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_memberEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_MemberEnd(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Navigable Owned End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNavigableOwnedEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_navigableOwnedEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_navigableOwnedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Association_ownedEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Association_ownedEnd_feature", "_UI_Association_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getAssociation_OwnedEnd(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getAssociation_OwnedEnd());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Association.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Association"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Association) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Association_type") : //$NON-NLS-1$
+ getString("_UI_Association_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Association.class)) {
+ case UMLPackage.ASSOCIATION__IS_DERIVED :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.ASSOCIATION__OWNED_END :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_MemberEnd()}, collection, index);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_NavigableOwnedEnd()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_MemberEnd()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_NavigableOwnedEnd()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_MemberEnd()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_NavigableOwnedEnd()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorExecutionSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorExecutionSpecificationItemProvider.java
new file mode 100644
index 00000000..ed24769f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorExecutionSpecificationItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: BehaviorExecutionSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BehaviorExecutionSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BehaviorExecutionSpecificationItemProvider
+ extends ExecutionSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorExecutionSpecificationItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBehaviorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehaviorExecutionSpecification_behavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehaviorExecutionSpecification_behavior_feature", "_UI_BehaviorExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getBehaviorExecutionSpecification_Behavior(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns BehaviorExecutionSpecification.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/BehaviorExecutionSpecification"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((BehaviorExecutionSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_BehaviorExecutionSpecification_type") : //$NON-NLS-1$
+ getString("_UI_BehaviorExecutionSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorItemProvider.java
new file mode 100644
index 00000000..44305fb9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehaviorItemProvider.java
@@ -0,0 +1,336 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: BehaviorItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Behavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BehaviorItemProvider
+ extends ClassItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsReentrantPropertyDescriptor(object);
+ addRedefinedBehaviorPropertyDescriptor(object);
+ addOwnedParameterPropertyDescriptor(object);
+ addContextPropertyDescriptor(object);
+ addOwnedParameterSetPropertyDescriptor(object);
+ addSpecificationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Reentrant feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsReentrantPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Behavior_isReentrant_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Behavior_isReentrant_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavior_IsReentrant(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Behavior_redefinedBehavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Behavior_redefinedBehavior_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavior_RedefinedBehavior(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Behavior_ownedParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Behavior_ownedParameter_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavior_OwnedParameter(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Behavior_context_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Behavior_context_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavior_Context(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Parameter Set feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedParameterSetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Behavior_ownedParameterSet_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Behavior_ownedParameterSet_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavior_OwnedParameterSet(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Specification feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSpecificationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Behavior_specification_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Behavior_specification_feature", "_UI_Behavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavior_Specification(), true, null,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavior_OwnedParameter());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavior_OwnedParameterSet());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Behavior.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Behavior"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Behavior) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Behavior_type") : //$NON-NLS-1$
+ getString("_UI_Behavior_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Behavior.class)) {
+ case UMLPackage.BEHAVIOR__IS_REENTRANT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER :
+ case UMLPackage.BEHAVIOR__OWNED_PARAMETER_SET :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavior_OwnedParameter(), UMLFactory.eINSTANCE
+ .createParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavior_OwnedParameterSet(), UMLFactory.eINSTANCE
+ .createParameterSet()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioralFeatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioralFeatureItemProvider.java
new file mode 100644
index 00000000..13505a69
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioralFeatureItemProvider.java
@@ -0,0 +1,416 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: BehavioralFeatureItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BehavioralFeature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BehavioralFeatureItemProvider
+ extends NamespaceItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeatureItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsLeafPropertyDescriptor(object);
+ addRedefinedElementPropertyDescriptor(object);
+ addRedefinitionContextPropertyDescriptor(object);
+ addIsStaticPropertyDescriptor(object);
+ addFeaturingClassifierPropertyDescriptor(object);
+ addOwnedParameterPropertyDescriptor(object);
+ addIsAbstractPropertyDescriptor(object);
+ addMethodPropertyDescriptor(object);
+ addConcurrencyPropertyDescriptor(object);
+ addRaisedExceptionPropertyDescriptor(object);
+ addOwnedParameterSetPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Leaf feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsLeafPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefinition Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinitionContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableElement_RedefinitionContext(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Static feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsStaticPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Feature_isStatic_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Feature_isStatic_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getFeature_IsStatic(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Featuring Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFeaturingClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Feature_featuringClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Feature_featuringClassifier_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getFeature_FeaturingClassifier(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioralFeature_ownedParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_ownedParameter_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioralFeature_OwnedParameter(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Abstract feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsAbstractPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioralFeature_isAbstract_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_isAbstract_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioralFeature_IsAbstract(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Method feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMethodPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioralFeature_method_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_method_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioralFeature_Method(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Concurrency feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConcurrencyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioralFeature_concurrency_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_concurrency_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioralFeature_Concurrency(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Raised Exception feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRaisedExceptionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioralFeature_raisedException_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_raisedException_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioralFeature_RaisedException(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Parameter Set feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedParameterSetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioralFeature_ownedParameterSet_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioralFeature_ownedParameterSet_feature", "_UI_BehavioralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioralFeature_OwnedParameterSet(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioralFeature_OwnedParameter());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioralFeature_OwnedParameterSet());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns BehavioralFeature.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/BehavioralFeature"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((BehavioralFeature) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_BehavioralFeature_type") : //$NON-NLS-1$
+ getString("_UI_BehavioralFeature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(BehavioralFeature.class)) {
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_LEAF :
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_STATIC :
+ case UMLPackage.BEHAVIORAL_FEATURE__IS_ABSTRACT :
+ case UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER :
+ case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioralFeature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioralFeature_OwnedParameterSet(), UMLFactory.eINSTANCE
+ .createParameterSet()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioredClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioredClassifierItemProvider.java
new file mode 100644
index 00000000..a85c5fcb
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BehavioredClassifierItemProvider.java
@@ -0,0 +1,415 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: BehavioredClassifierItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BehavioredClassifier} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BehavioredClassifierItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioredClassifierItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedBehaviorPropertyDescriptor(object);
+ addClassifierBehaviorPropertyDescriptor(object);
+ addInterfaceRealizationPropertyDescriptor(object);
+ addOwnedTriggerPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_ownedBehavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedBehavior(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClassifierBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_classifierBehavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_classifierBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Interface Realization feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInterfaceRealizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_interfaceRealization_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_interfaceRealization_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Trigger feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTriggerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_ownedTrigger_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedTrigger_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedTrigger(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedTrigger());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((BehavioredClassifier) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_BehavioredClassifier_type") : //$NON-NLS-1$
+ getString("_UI_BehavioredClassifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(BehavioredClassifier.class)) {
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR :
+ case UMLPackage.BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION :
+ case UMLPackage.BEHAVIORED_CLASSIFIER__OWNED_TRIGGER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization(),
+ UMLFactory.eINSTANCE.createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedTrigger(), UMLFactory.eINSTANCE
+ .createTrigger()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior()}, value,
+ collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()},
+ value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BroadcastSignalActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BroadcastSignalActionItemProvider.java
new file mode 100644
index 00000000..477ba530
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/BroadcastSignalActionItemProvider.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: BroadcastSignalActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.BroadcastSignalAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.BroadcastSignalAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BroadcastSignalActionItemProvider
+ extends InvocationActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BroadcastSignalActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSignalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Signal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BroadcastSignalAction_signal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BroadcastSignalAction_signal_feature", "_UI_BroadcastSignalAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBroadcastSignalAction_Signal(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns BroadcastSignalAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator()
+ .getImage("full/obj16/BroadcastSignalAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((BroadcastSignalAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_BroadcastSignalAction_type") : //$NON-NLS-1$
+ getString("_UI_BroadcastSignalAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallActionItemProvider.java
new file mode 100644
index 00000000..d09ffe90
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallActionItemProvider.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CallActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.CallAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallActionItemProvider
+ extends InvocationActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsSynchronousPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Synchronous feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsSynchronousPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CallAction_isSynchronous_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CallAction_isSynchronous_feature", "_UI_CallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCallAction_IsSynchronous(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CallAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CallAction_result_feature", "_UI_CallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCallAction_Result(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getCallAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CallAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CallAction_type") : //$NON-NLS-1$
+ getString("_UI_CallAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CallAction.class)) {
+ case UMLPackage.CALL_ACTION__IS_SYNCHRONOUS :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.CALL_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCallAction_Result(), UMLFactory.eINSTANCE.createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallBehaviorActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallBehaviorActionItemProvider.java
new file mode 100644
index 00000000..2195f9bf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallBehaviorActionItemProvider.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CallBehaviorActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallBehaviorAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallBehaviorActionItemProvider
+ extends CallActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallBehaviorActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBehaviorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CallBehaviorAction_behavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CallBehaviorAction_behavior_feature", "_UI_CallBehaviorAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCallBehaviorAction_Behavior(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns CallBehaviorAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CallBehaviorAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CallBehaviorAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CallBehaviorAction_type") : //$NON-NLS-1$
+ getString("_UI_CallBehaviorAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallEventItemProvider.java
new file mode 100644
index 00000000..32cc8dcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallEventItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CallEventItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallEventItemProvider
+ extends MessageEventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOperationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CallEvent_operation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CallEvent_operation_feature", "_UI_CallEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCallEvent_Operation(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns CallEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CallEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CallEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CallEvent_type") : //$NON-NLS-1$
+ getString("_UI_CallEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallOperationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallOperationActionItemProvider.java
new file mode 100644
index 00000000..142dd3f8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CallOperationActionItemProvider.java
@@ -0,0 +1,235 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CallOperationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CallOperationAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallOperationActionItemProvider
+ extends CallActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOperationPropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CallOperationAction_operation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CallOperationAction_operation_feature", "_UI_CallOperationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCallOperationAction_Operation(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CallOperationAction_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CallOperationAction_target_feature", "_UI_CallOperationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCallOperationAction_Target(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getCallOperationAction_Target());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns CallOperationAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CallOperationAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CallOperationAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CallOperationAction_type") : //$NON-NLS-1$
+ getString("_UI_CallOperationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CallOperationAction.class)) {
+ case UMLPackage.CALL_OPERATION_ACTION__TARGET :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCallOperationAction_Target(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCallOperationAction_Target(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCallOperationAction_Target(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInvocationAction_Argument()
+ || childFeature == UMLPackage.eINSTANCE
+ .getCallOperationAction_Target();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CentralBufferNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CentralBufferNodeItemProvider.java
new file mode 100644
index 00000000..33ff3390
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CentralBufferNodeItemProvider.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CentralBufferNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.CentralBufferNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CentralBufferNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CentralBufferNodeItemProvider
+ extends ObjectNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CentralBufferNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns CentralBufferNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CentralBufferNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CentralBufferNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CentralBufferNode_type") : //$NON-NLS-1$
+ getString("_UI_CentralBufferNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ChangeEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ChangeEventItemProvider.java
new file mode 100644
index 00000000..b5cc344c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ChangeEventItemProvider.java
@@ -0,0 +1,255 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ChangeEventItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ChangeEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ChangeEventItemProvider
+ extends EventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addChangeExpressionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Change Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addChangeExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ChangeEvent_changeExpression_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ChangeEvent_changeExpression_feature", "_UI_ChangeEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getChangeEvent_ChangeExpression(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ChangeEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ChangeEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ChangeEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ChangeEvent_type") : //$NON-NLS-1$
+ getString("_UI_ChangeEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ChangeEvent.class)) {
+ case UMLPackage.CHANGE_EVENT__CHANGE_EXPRESSION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getChangeEvent_ChangeExpression();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassItemProvider.java
new file mode 100644
index 00000000..aaccc6ae
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassItemProvider.java
@@ -0,0 +1,690 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ClassItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Class} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClassItemProvider
+ extends EncapsulatedClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedBehaviorPropertyDescriptor(object);
+ addClassifierBehaviorPropertyDescriptor(object);
+ addInterfaceRealizationPropertyDescriptor(object);
+ addOwnedTriggerPropertyDescriptor(object);
+ addOwnedOperationPropertyDescriptor(object);
+ addNestedClassifierPropertyDescriptor(object);
+ addSuperClassPropertyDescriptor(object);
+ addIsActivePropertyDescriptor(object);
+ addOwnedReceptionPropertyDescriptor(object);
+ addExtensionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_ownedBehavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedBehavior(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClassifierBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_classifierBehavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_classifierBehavior_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Interface Realization feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInterfaceRealizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_interfaceRealization_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_interfaceRealization_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Trigger feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTriggerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BehavioredClassifier_ownedTrigger_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BehavioredClassifier_ownedTrigger_feature", "_UI_BehavioredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getBehavioredClassifier_OwnedTrigger(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Class_ownedOperation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Class_ownedOperation_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClass_OwnedOperation(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Nested Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNestedClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Class_nestedClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Class_nestedClassifier_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClass_NestedClassifier(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Super Class feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSuperClassPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Class_superClass_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Class_superClass_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClass_SuperClass(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Active feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsActivePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Class_isActive_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Class_isActive_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClass_IsActive(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Reception feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedReceptionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Class_ownedReception_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Class_ownedReception_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClass_OwnedReception(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extension feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtensionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Class_extension_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Class_extension_feature", "_UI_Class_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClass_Extension(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedTrigger());
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getClass_OwnedOperation());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier());
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getClass_OwnedReception());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Class.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Class"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((org.eclipse.uml2.uml.Class) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Class_type") : //$NON-NLS-1$
+ getString("_UI_Class_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(org.eclipse.uml2.uml.Class.class)) {
+ case UMLPackage.CLASS__IS_ACTIVE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.CLASS__OWNED_BEHAVIOR :
+ case UMLPackage.CLASS__INTERFACE_REALIZATION :
+ case UMLPackage.CLASS__OWNED_TRIGGER :
+ case UMLPackage.CLASS__OWNED_OPERATION :
+ case UMLPackage.CLASS__NESTED_CLASSIFIER :
+ case UMLPackage.CLASS__OWNED_RECEPTION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior(), UMLFactory.eINSTANCE
+ .createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization(),
+ UMLFactory.eINSTANCE.createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedTrigger(), UMLFactory.eINSTANCE
+ .createTrigger()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_OwnedOperation(), UMLFactory.eINSTANCE
+ .createOperation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createStereotype()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createUseCase()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createDeploymentSpecification()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createBehavior()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createDataType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createInterface()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createSignal()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createAssociation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createCollaboration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createExtension()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createEnumeration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createPrimitiveType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createActor()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createInformationItem()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createComponent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE.createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createExecutionEnvironment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createCommunicationPath()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_NestedClassifier(), UMLFactory.eINSTANCE
+ .createAssociationClass()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClass_OwnedReception(), UMLFactory.eINSTANCE
+ .createReception()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior()}, value,
+ collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()},
+ value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_ClassifierBehavior()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierItemProvider.java
new file mode 100644
index 00000000..d1834546
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierItemProvider.java
@@ -0,0 +1,803 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ClassifierItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Classifier} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClassifierItemProvider
+ extends NamespaceItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassifierItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsLeafPropertyDescriptor(object);
+ addRedefinedElementPropertyDescriptor(object);
+ addRedefinitionContextPropertyDescriptor(object);
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ addPackagePropertyDescriptor(object);
+ addTemplateBindingPropertyDescriptor(object);
+ addOwnedTemplateSignaturePropertyDescriptor(object);
+ addIsAbstractPropertyDescriptor(object);
+ addGeneralizationPropertyDescriptor(object);
+ addPowertypeExtentPropertyDescriptor(object);
+ addFeaturePropertyDescriptor(object);
+ addInheritedMemberPropertyDescriptor(object);
+ addRedefinedClassifierPropertyDescriptor(object);
+ addGeneralPropertyDescriptor(object);
+ addOwnedUseCasePropertyDescriptor(object);
+ addUseCasePropertyDescriptor(object);
+ addSubstitutionPropertyDescriptor(object);
+ addAttributePropertyDescriptor(object);
+ addRepresentationPropertyDescriptor(object);
+ addCollaborationUsePropertyDescriptor(object);
+ addOwnedSignaturePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Leaf feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsLeafPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefinition Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinitionContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableElement_RedefinitionContext(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Type_package_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Type_package_feature", "_UI_Type_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getType_Package(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Template Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Template Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Abstract feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsAbstractPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_isAbstract_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_isAbstract_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_IsAbstract(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Generalization feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_generalization_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_generalization_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_Generalization(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Powertype Extent feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPowertypeExtentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_powertypeExtent_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_powertypeExtent_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_PowertypeExtent(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Feature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFeaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_feature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_feature_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_Feature(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Inherited Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInheritedMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_inheritedMember_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_inheritedMember_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_InheritedMember(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_redefinedClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_redefinedClassifier_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_RedefinedClassifier(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the General feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_general_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_general_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_General(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Use Case feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedUseCasePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_ownedUseCase_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_ownedUseCase_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_OwnedUseCase(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Use Case feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUseCasePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_useCase_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_useCase_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_UseCase(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Substitution feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubstitutionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_substitution_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_substitution_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_Substitution(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAttributePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_attribute_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_attribute_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_Attribute(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Representation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRepresentationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_representation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_representation_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_Representation(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Collaboration Use feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCollaborationUsePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_collaborationUse_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_collaborationUse_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_CollaborationUse(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Classifier_ownedSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Classifier_ownedSignature_feature", "_UI_Classifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClassifier_OwnedSignature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getClassifier_Generalization());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getClassifier_Substitution());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getClassifier_CollaborationUse());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Classifier) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Classifier_type") : //$NON-NLS-1$
+ getString("_UI_Classifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Classifier.class)) {
+ case UMLPackage.CLASSIFIER__IS_LEAF :
+ case UMLPackage.CLASSIFIER__IS_ABSTRACT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.CLASSIFIER__TEMPLATE_BINDING :
+ case UMLPackage.CLASSIFIER__OWNED_TEMPLATE_SIGNATURE :
+ case UMLPackage.CLASSIFIER__GENERALIZATION :
+ case UMLPackage.CLASSIFIER__OWNED_USE_CASE :
+ case UMLPackage.CLASSIFIER__SUBSTITUTION :
+ case UMLPackage.CLASSIFIER__COLLABORATION_USE :
+ case UMLPackage.CLASSIFIER__OWNED_SIGNATURE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE
+ .createTemplateBinding()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createRedefinableTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClassifier_Generalization(), UMLFactory.eINSTANCE
+ .createGeneralization()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase(), UMLFactory.eINSTANCE
+ .createUseCase()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClassifier_Substitution(), UMLFactory.eINSTANCE
+ .createSubstitution()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClassifier_CollaborationUse(), UMLFactory.eINSTANCE
+ .createCollaborationUse()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature(), UMLFactory.eINSTANCE
+ .createRedefinableTemplateSignature()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getClassifier_Substitution()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getClassifier_Substitution()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getClassifier_CollaborationUse()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getClassifier_Representation()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getClassifier_Substitution()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getClassifier_Substitution()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getClassifier_CollaborationUse()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getClassifier_Representation()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getClassifier_Representation()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getClassifier_CollaborationUse()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierTemplateParameterItemProvider.java
new file mode 100644
index 00000000..2100a0f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClassifierTemplateParameterItemProvider.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ClassifierTemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ClassifierTemplateParameter;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClassifierTemplateParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClassifierTemplateParameterItemProvider
+ extends TemplateParameterItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassifierTemplateParameterItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addAllowSubstitutablePropertyDescriptor(object);
+ addDefaultClassifierPropertyDescriptor(object);
+ addConstrainingClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Allow Substitutable feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAllowSubstitutablePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ClassifierTemplateParameter_allowSubstitutable_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ClassifierTemplateParameter_allowSubstitutable_feature", "_UI_ClassifierTemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getClassifierTemplateParameter_AllowSubstitutable(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Default Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefaultClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ClassifierTemplateParameter_defaultClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ClassifierTemplateParameter_defaultClassifier_feature", "_UI_ClassifierTemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getClassifierTemplateParameter_DefaultClassifier(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Constraining Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConstrainingClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ClassifierTemplateParameter_constrainingClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ClassifierTemplateParameter_constrainingClassifier_feature", "_UI_ClassifierTemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getClassifierTemplateParameter_ConstrainingClassifier(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns ClassifierTemplateParameter.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ClassifierTemplateParameter"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ ClassifierTemplateParameter classifierTemplateParameter = (ClassifierTemplateParameter) object;
+ return getString("_UI_ClassifierTemplateParameter_type") + " " + classifierTemplateParameter.isAllowSubstitutable(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ClassifierTemplateParameter.class)) {
+ case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement()
+ || childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClauseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClauseItemProvider.java
new file mode 100644
index 00000000..564a4aa0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClauseItemProvider.java
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ClauseItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Clause} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClauseItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClauseItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTestPropertyDescriptor(object);
+ addBodyPropertyDescriptor(object);
+ addPredecessorClausePropertyDescriptor(object);
+ addSuccessorClausePropertyDescriptor(object);
+ addDeciderPropertyDescriptor(object);
+ addBodyOutputPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Test feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTestPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Clause_test_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Clause_test_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClause_Test(), true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Body feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Clause_body_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Clause_body_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClause_Body(), true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Predecessor Clause feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPredecessorClausePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Clause_predecessorClause_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Clause_predecessorClause_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClause_PredecessorClause(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Successor Clause feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSuccessorClausePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Clause_successorClause_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Clause_successorClause_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClause_SuccessorClause(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Decider feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeciderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Clause_decider_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Clause_decider_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClause_Decider(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Body Output feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyOutputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Clause_bodyOutput_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Clause_bodyOutput_feature", "_UI_Clause_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClause_BodyOutput(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns Clause.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Clause"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_Clause_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearAssociationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearAssociationActionItemProvider.java
new file mode 100644
index 00000000..62594e55
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearAssociationActionItemProvider.java
@@ -0,0 +1,232 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ClearAssociationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ClearAssociationAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClearAssociationAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClearAssociationActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClearAssociationActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addObjectPropertyDescriptor(object);
+ addAssociationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ClearAssociationAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ClearAssociationAction_object_feature", "_UI_ClearAssociationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClearAssociationAction_Object(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Association feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAssociationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ClearAssociationAction_association_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ClearAssociationAction_association_feature", "_UI_ClearAssociationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getClearAssociationAction_Association(),
+ true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getClearAssociationAction_Object());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ClearAssociationAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ClearAssociationAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ClearAssociationAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ClearAssociationAction_type") : //$NON-NLS-1$
+ getString("_UI_ClearAssociationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ClearAssociationAction.class)) {
+ case UMLPackage.CLEAR_ASSOCIATION_ACTION__OBJECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClearAssociationAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClearAssociationAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getClearAssociationAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearStructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearStructuralFeatureActionItemProvider.java
new file mode 100644
index 00000000..5cf2741a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearStructuralFeatureActionItemProvider.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ClearStructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ClearStructuralFeatureAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClearStructuralFeatureAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClearStructuralFeatureActionItemProvider
+ extends StructuralFeatureActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClearStructuralFeatureActionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ClearStructuralFeatureAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ClearStructuralFeatureAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ClearStructuralFeatureAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ClearStructuralFeatureAction_type") : //$NON-NLS-1$
+ getString("_UI_ClearStructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearVariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearVariableActionItemProvider.java
new file mode 100644
index 00000000..3a3cc3a4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ClearVariableActionItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ClearVariableActionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ClearVariableAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ClearVariableAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClearVariableActionItemProvider
+ extends VariableActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClearVariableActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ClearVariableAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ClearVariableAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ClearVariableAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ClearVariableAction_type") : //$NON-NLS-1$
+ getString("_UI_ClearVariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationItemProvider.java
new file mode 100644
index 00000000..a3588a03
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationItemProvider.java
@@ -0,0 +1,318 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CollaborationItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Collaboration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CollaborationItemProvider
+ extends BehavioredClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedAttributePropertyDescriptor(object);
+ addPartPropertyDescriptor(object);
+ addRolePropertyDescriptor(object);
+ addOwnedConnectorPropertyDescriptor(object);
+ addCollaborationRolePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedAttributePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_ownedAttribute_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedAttribute_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Part feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPartPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_part_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_part_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_Part(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Role feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRolePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_role_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_role_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_Role(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Connector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedConnectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_ownedConnector_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedConnector_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_OwnedConnector(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Collaboration Role feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCollaborationRolePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Collaboration_collaborationRole_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Collaboration_collaborationRole_feature", "_UI_Collaboration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCollaboration_CollaborationRole(),
+ true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedConnector());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Collaboration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Collaboration"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Collaboration) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Collaboration_type") : //$NON-NLS-1$
+ getString("_UI_Collaboration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Collaboration.class)) {
+ case UMLPackage.COLLABORATION__OWNED_ATTRIBUTE :
+ case UMLPackage.COLLABORATION__OWNED_CONNECTOR :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedConnector(), UMLFactory.eINSTANCE
+ .createConnector()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationUseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationUseItemProvider.java
new file mode 100644
index 00000000..25749846
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CollaborationUseItemProvider.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CollaborationUseItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CollaborationUse} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CollaborationUseItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUseItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTypePropertyDescriptor(object);
+ addRoleBindingPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CollaborationUse_type_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CollaborationUse_type_feature", "_UI_CollaborationUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCollaborationUse_Type(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Role Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRoleBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CollaborationUse_roleBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CollaborationUse_roleBinding_feature", "_UI_CollaborationUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCollaborationUse_RoleBinding(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns CollaborationUse.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CollaborationUse"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CollaborationUse) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CollaborationUse_type") : //$NON-NLS-1$
+ getString("_UI_CollaborationUse_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CollaborationUse.class)) {
+ case UMLPackage.COLLABORATION_USE__ROLE_BINDING :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createDependency()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createAbstraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createSubstitution()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createManifestation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createUsage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCollaborationUse_RoleBinding(), UMLFactory.eINSTANCE
+ .createComponentRealization()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CombinedFragmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CombinedFragmentItemProvider.java
new file mode 100644
index 00000000..00dbab42
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CombinedFragmentItemProvider.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CombinedFragmentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.CombinedFragment;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CombinedFragment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CombinedFragmentItemProvider
+ extends InteractionFragmentItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CombinedFragmentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addInteractionOperatorPropertyDescriptor(object);
+ addOperandPropertyDescriptor(object);
+ addCfragmentGatePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Interaction Operator feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInteractionOperatorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CombinedFragment_interactionOperator_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CombinedFragment_interactionOperator_feature", "_UI_CombinedFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCombinedFragment_InteractionOperator(),
+ true, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Operand feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOperandPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CombinedFragment_operand_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CombinedFragment_operand_feature", "_UI_CombinedFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCombinedFragment_Operand(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Cfragment Gate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCfragmentGatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CombinedFragment_cfragmentGate_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CombinedFragment_cfragmentGate_feature", "_UI_CombinedFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCombinedFragment_CfragmentGate(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getCombinedFragment_Operand());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getCombinedFragment_CfragmentGate());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns CombinedFragment.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CombinedFragment"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CombinedFragment) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CombinedFragment_type") : //$NON-NLS-1$
+ getString("_UI_CombinedFragment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CombinedFragment.class)) {
+ case UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.COMBINED_FRAGMENT__OPERAND :
+ case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCombinedFragment_Operand(), UMLFactory.eINSTANCE
+ .createInteractionOperand()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCombinedFragment_CfragmentGate(), UMLFactory.eINSTANCE
+ .createGate()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommentItemProvider.java
new file mode 100644
index 00000000..56c27499
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommentItemProvider.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CommentItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Comment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CommentItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBodyPropertyDescriptor(object);
+ addAnnotatedElementPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Body feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Comment_body_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Comment_body_feature", "_UI_Comment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComment_Body(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Annotated Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAnnotatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Comment_annotatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Comment_annotatedElement_feature", "_UI_Comment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComment_AnnotatedElement(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns Comment.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Comment"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Comment) object).getBody();
+ return label == null || label.length() == 0
+ ? getString("_UI_Comment_type") : //$NON-NLS-1$
+ getString("_UI_Comment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Comment.class)) {
+ case UMLPackage.COMMENT__BODY :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommunicationPathItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommunicationPathItemProvider.java
new file mode 100644
index 00000000..89a6a523
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CommunicationPathItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CommunicationPathItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.CommunicationPath;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CommunicationPath} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CommunicationPathItemProvider
+ extends AssociationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommunicationPathItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns CommunicationPath.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CommunicationPath"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CommunicationPath) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CommunicationPath_type") : //$NON-NLS-1$
+ getString("_UI_CommunicationPath_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentItemProvider.java
new file mode 100644
index 00000000..d1cb6aad
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentItemProvider.java
@@ -0,0 +1,620 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ComponentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Component} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentItemProvider
+ extends ClassItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsIndirectlyInstantiatedPropertyDescriptor(object);
+ addRequiredPropertyDescriptor(object);
+ addProvidedPropertyDescriptor(object);
+ addPackagedElementPropertyDescriptor(object);
+ addRealizationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Indirectly Instantiated feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsIndirectlyInstantiatedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Component_isIndirectlyInstantiated_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Component_isIndirectlyInstantiated_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComponent_IsIndirectlyInstantiated(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Required feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRequiredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Component_required_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Component_required_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComponent_Required(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Provided feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addProvidedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Component_provided_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Component_provided_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComponent_Provided(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Packaged Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPackagedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Component_packagedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Component_packagedElement_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComponent_PackagedElement(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Realization feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRealizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Component_realization_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Component_realization_feature", "_UI_Component_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComponent_Realization(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getComponent_Realization());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Component.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Component"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Component) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Component_type") : //$NON-NLS-1$
+ getString("_UI_Component_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Component.class)) {
+ case UMLPackage.COMPONENT__IS_INDIRECTLY_INSTANTIATED :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.COMPONENT__PACKAGED_ELEMENT :
+ case UMLPackage.COMPONENT__REALIZATION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDependency()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createPackage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createProfile()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createStereotype()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createGeneralizationSet()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createUseCase()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createAbstraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createSubstitution()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDeploymentSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createManifestation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDataType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInterface()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createSignal()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createAssociation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createCollaboration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createExtension()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInstanceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createEnumeration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createEnumerationLiteral()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createPrimitiveType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createActor()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createUsage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createExecutionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createCreationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDestructionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createSendOperationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createSendSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createCallEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createChangeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createAnyReceiveEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInformationItem()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createInformationFlow()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createModel()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createComponentRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createComponent()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createExecutionEnvironment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createCommunicationPath()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_PackagedElement(), UMLFactory.eINSTANCE
+ .createAssociationClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getComponent_Realization(), UMLFactory.eINSTANCE
+ .createComponentRealization()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getComponent_PackagedElement()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()
+ || childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_Substitution()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization()
+ || childFeature == UMLPackage.eINSTANCE.getComponent_Realization();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentRealizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentRealizationItemProvider.java
new file mode 100644
index 00000000..b2b41779
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ComponentRealizationItemProvider.java
@@ -0,0 +1,248 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ComponentRealizationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.ComponentRealization;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ComponentRealization} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentRealizationItemProvider
+ extends RealizationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentRealizationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addAbstractionPropertyDescriptor(object);
+ addRealizingClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Abstraction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAbstractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ComponentRealization_abstraction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ComponentRealization_abstraction_feature", "_UI_ComponentRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getComponentRealization_Abstraction(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Realizing Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRealizingClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ComponentRealization_realizingClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ComponentRealization_realizingClassifier_feature", "_UI_ComponentRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getComponentRealization_RealizingClassifier(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns ComponentRealization.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ComponentRealization"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ComponentRealization) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ComponentRealization_type") : //$NON-NLS-1$
+ getString("_UI_ComponentRealization_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getComponentRealization_Abstraction()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getComponentRealization_RealizingClassifier()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getComponentRealization_Abstraction()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getComponentRealization_RealizingClassifier()}, value,
+ collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getComponentRealization_Abstraction()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Client()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getComponentRealization_RealizingClassifier()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Supplier()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConditionalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConditionalNodeItemProvider.java
new file mode 100644
index 00000000..eddb3052
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConditionalNodeItemProvider.java
@@ -0,0 +1,293 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConditionalNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ConditionalNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConditionalNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConditionalNodeItemProvider
+ extends StructuredActivityNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsDeterminatePropertyDescriptor(object);
+ addIsAssuredPropertyDescriptor(object);
+ addClausePropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Determinate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDeterminatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConditionalNode_isDeterminate_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_isDeterminate_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConditionalNode_IsDeterminate(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Assured feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsAssuredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConditionalNode_isAssured_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_isAssured_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConditionalNode_IsAssured(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Clause feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClausePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConditionalNode_clause_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_clause_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConditionalNode_Clause(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConditionalNode_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConditionalNode_result_feature", "_UI_ConditionalNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConditionalNode_Result(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getConditionalNode_Clause());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getConditionalNode_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ConditionalNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ConditionalNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ConditionalNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ConditionalNode_type") : //$NON-NLS-1$
+ getString("_UI_ConditionalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ConditionalNode.class)) {
+ case UMLPackage.CONDITIONAL_NODE__IS_DETERMINATE :
+ case UMLPackage.CONDITIONAL_NODE__IS_ASSURED :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.CONDITIONAL_NODE__CLAUSE :
+ case UMLPackage.CONDITIONAL_NODE__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConditionalNode_Clause(), UMLFactory.eINSTANCE.createClause()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConditionalNode_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node()
+ || childFeature == UMLPackage.eINSTANCE.getConditionalNode_Result();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementItemProvider.java
new file mode 100644
index 00000000..f1dbec30
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementItemProvider.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConnectableElementItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectableElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectableElementItemProvider
+ extends TypedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ addEndPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectableElement_end_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectableElement_end_feature", "_UI_ConnectableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectableElement_End(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ConnectableElement) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ConnectableElement_type") : //$NON-NLS-1$
+ getString("_UI_ConnectableElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementTemplateParameterItemProvider.java
new file mode 100644
index 00000000..b306e033
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectableElementTemplateParameterItemProvider.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConnectableElementTemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectableElementTemplateParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectableElementTemplateParameterItemProvider
+ extends TemplateParameterItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElementTemplateParameterItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ConnectableElementTemplateParameter.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ConnectableElementTemplateParameter"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_ConnectableElementTemplateParameter_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement()
+ || childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectionPointReferenceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectionPointReferenceItemProvider.java
new file mode 100644
index 00000000..a856dc67
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectionPointReferenceItemProvider.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConnectionPointReferenceItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ConnectionPointReference;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectionPointReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectionPointReferenceItemProvider
+ extends VertexItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectionPointReferenceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addEntryPropertyDescriptor(object);
+ addExitPropertyDescriptor(object);
+ addStatePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Entry feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEntryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectionPointReference_entry_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectionPointReference_entry_feature", "_UI_ConnectionPointReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectionPointReference_Entry(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Exit feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExitPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectionPointReference_exit_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectionPointReference_exit_feature", "_UI_ConnectionPointReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectionPointReference_Exit(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the State feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectionPointReference_state_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectionPointReference_state_feature", "_UI_ConnectionPointReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectionPointReference_State(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns ConnectionPointReference.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ConnectionPointReference"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ConnectionPointReference) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ConnectionPointReference_type") : //$NON-NLS-1$
+ getString("_UI_ConnectionPointReference_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorEndItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorEndItemProvider.java
new file mode 100644
index 00000000..64eb34f9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorEndItemProvider.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConnectorEndItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConnectorEnd} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectorEndItemProvider
+ extends MultiplicityElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorEndItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDefiningEndPropertyDescriptor(object);
+ addPartWithPortPropertyDescriptor(object);
+ addRolePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Defining End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefiningEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectorEnd_definingEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectorEnd_definingEnd_feature", "_UI_ConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectorEnd_DefiningEnd(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Part With Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPartWithPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectorEnd_partWithPort_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectorEnd_partWithPort_feature", "_UI_ConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectorEnd_PartWithPort(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Role feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRolePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectorEnd_role_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectorEnd_role_feature", "_UI_ConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectorEnd_Role(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns ConnectorEnd.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ConnectorEnd"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ ConnectorEnd connectorEnd = (ConnectorEnd) object;
+ return getString("_UI_ConnectorEnd_type") + " " + connectorEnd.isOrdered(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorItemProvider.java
new file mode 100644
index 00000000..9d3fc6f1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConnectorItemProvider.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConnectorItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Connector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectorItemProvider
+ extends FeatureItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTypePropertyDescriptor(object);
+ addRedefinedConnectorPropertyDescriptor(object);
+ addEndPropertyDescriptor(object);
+ addKindPropertyDescriptor(object);
+ addContractPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Connector_type_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Connector_type_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnector_Type(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Connector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedConnectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Connector_redefinedConnector_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Connector_redefinedConnector_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnector_RedefinedConnector(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Connector_end_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Connector_end_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnector_End(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Kind feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Connector_kind_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Connector_kind_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnector_Kind(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Contract feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContractPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Connector_contract_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Connector_contract_feature", "_UI_Connector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnector_Contract(), true, null, null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getConnector_End());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Connector.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Connector"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Connector) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Connector_type") : //$NON-NLS-1$
+ getString("_UI_Connector_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Connector.class)) {
+ case UMLPackage.CONNECTOR__KIND :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.CONNECTOR__END :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConnector_End(), UMLFactory.eINSTANCE.createConnectorEnd()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConsiderIgnoreFragmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConsiderIgnoreFragmentItemProvider.java
new file mode 100644
index 00000000..ce41f119
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConsiderIgnoreFragmentItemProvider.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConsiderIgnoreFragmentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ConsiderIgnoreFragment;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ConsiderIgnoreFragment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConsiderIgnoreFragmentItemProvider
+ extends CombinedFragmentItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConsiderIgnoreFragmentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMessagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Message feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMessagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConsiderIgnoreFragment_message_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConsiderIgnoreFragment_message_feature", "_UI_ConsiderIgnoreFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConsiderIgnoreFragment_Message(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns ConsiderIgnoreFragment.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ConsiderIgnoreFragment"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ConsiderIgnoreFragment) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ConsiderIgnoreFragment_type") : //$NON-NLS-1$
+ getString("_UI_ConsiderIgnoreFragment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConstraintItemProvider.java
new file mode 100644
index 00000000..29431945
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ConstraintItemProvider.java
@@ -0,0 +1,295 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ConstraintItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Constraint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstraintItemProvider
+ extends PackageableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstraintItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addConstrainedElementPropertyDescriptor(object);
+ addSpecificationPropertyDescriptor(object);
+ addContextPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Constrained Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConstrainedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Constraint_constrainedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Constraint_constrainedElement_feature", "_UI_Constraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConstraint_ConstrainedElement(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Specification feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSpecificationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Constraint_specification_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Constraint_specification_feature", "_UI_Constraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConstraint_Specification(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Constraint_context_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Constraint_context_feature", "_UI_Constraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConstraint_Context(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getConstraint_Specification());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Constraint.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Constraint"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Constraint) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Constraint_type") : //$NON-NLS-1$
+ getString("_UI_Constraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Constraint.class)) {
+ case UMLPackage.CONSTRAINT__SPECIFICATION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getConstraint_Specification(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getConstraint_Specification();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ContinuationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ContinuationItemProvider.java
new file mode 100644
index 00000000..9390d8e4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ContinuationItemProvider.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ContinuationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Continuation;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Continuation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContinuationItemProvider
+ extends InteractionFragmentItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContinuationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSettingPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Setting feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSettingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Continuation_setting_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Continuation_setting_feature", "_UI_Continuation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getContinuation_Setting(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Continuation.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Continuation"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Continuation) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Continuation_type") : //$NON-NLS-1$
+ getString("_UI_Continuation_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Continuation.class)) {
+ case UMLPackage.CONTINUATION__SETTING :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlFlowItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlFlowItemProvider.java
new file mode 100644
index 00000000..d9f4b319
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlFlowItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ControlFlowItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ControlFlow;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ControlFlow} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ControlFlowItemProvider
+ extends ActivityEdgeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlFlowItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ControlFlow.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ControlFlow"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ControlFlow) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ControlFlow_type") : //$NON-NLS-1$
+ getString("_UI_ControlFlow_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Guard()
+ || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Weight();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlNodeItemProvider.java
new file mode 100644
index 00000000..a0a40e58
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ControlNodeItemProvider.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ControlNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ControlNode;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ControlNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ControlNodeItemProvider
+ extends ActivityNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ControlNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ControlNode_type") : //$NON-NLS-1$
+ getString("_UI_ControlNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkActionItemProvider.java
new file mode 100644
index 00000000..f0e05d20
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkActionItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CreateLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.CreateLinkAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreateLinkAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CreateLinkActionItemProvider
+ extends WriteLinkActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateLinkActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns CreateLinkAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CreateLinkAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CreateLinkAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CreateLinkAction_type") : //$NON-NLS-1$
+ getString("_UI_CreateLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkObjectActionItemProvider.java
new file mode 100644
index 00000000..d74416a4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateLinkObjectActionItemProvider.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CreateLinkObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.CreateLinkObjectAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreateLinkObjectAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CreateLinkObjectActionItemProvider
+ extends CreateLinkActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateLinkObjectActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CreateLinkObjectAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CreateLinkObjectAction_result_feature", "_UI_CreateLinkObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCreateLinkObjectAction_Result(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getCreateLinkObjectAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns CreateLinkObjectAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/CreateLinkObjectAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CreateLinkObjectAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CreateLinkObjectAction_type") : //$NON-NLS-1$
+ getString("_UI_CreateLinkObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CreateLinkObjectAction.class)) {
+ case UMLPackage.CREATE_LINK_OBJECT_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCreateLinkObjectAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateObjectActionItemProvider.java
new file mode 100644
index 00000000..4d84e0e2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreateObjectActionItemProvider.java
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CreateObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.CreateObjectAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreateObjectAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CreateObjectActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreateObjectActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addClassifierPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CreateObjectAction_classifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CreateObjectAction_classifier_feature", "_UI_CreateObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCreateObjectAction_Classifier(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CreateObjectAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_CreateObjectAction_result_feature", "_UI_CreateObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getCreateObjectAction_Result(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getCreateObjectAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns CreateObjectAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CreateObjectAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CreateObjectAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CreateObjectAction_type") : //$NON-NLS-1$
+ getString("_UI_CreateObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CreateObjectAction.class)) {
+ case UMLPackage.CREATE_OBJECT_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getCreateObjectAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreationEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreationEventItemProvider.java
new file mode 100644
index 00000000..c9dd4d3f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/CreationEventItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: CreationEventItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.CreationEvent;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.CreationEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CreationEventItemProvider
+ extends EventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreationEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns CreationEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CreationEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CreationEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_CreationEvent_type") : //$NON-NLS-1$
+ getString("_UI_CreationEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataStoreNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataStoreNodeItemProvider.java
new file mode 100644
index 00000000..6aca5f30
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataStoreNodeItemProvider.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DataStoreNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DataStoreNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataStoreNodeItemProvider
+ extends CentralBufferNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns DataStoreNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DataStoreNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DataStoreNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DataStoreNode_type") : //$NON-NLS-1$
+ getString("_UI_DataStoreNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataTypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataTypeItemProvider.java
new file mode 100644
index 00000000..e9e762d1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DataTypeItemProvider.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DataTypeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataTypeItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedAttributePropertyDescriptor(object);
+ addOwnedOperationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedAttributePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DataType_ownedAttribute_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DataType_ownedAttribute_feature", "_UI_DataType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDataType_OwnedAttribute(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DataType_ownedOperation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DataType_ownedOperation_feature", "_UI_DataType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDataType_OwnedOperation(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getDataType_OwnedAttribute());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getDataType_OwnedOperation());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns DataType.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DataType"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DataType) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DataType_type") : //$NON-NLS-1$
+ getString("_UI_DataType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DataType.class)) {
+ case UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE :
+ case UMLPackage.DATA_TYPE__OWNED_OPERATION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDataType_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDataType_OwnedAttribute(), UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDataType_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDataType_OwnedOperation(), UMLFactory.eINSTANCE
+ .createOperation()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DecisionNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DecisionNodeItemProvider.java
new file mode 100644
index 00000000..64033238
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DecisionNodeItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DecisionNodeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DecisionNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DecisionNodeItemProvider
+ extends ControlNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DecisionNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDecisionInputPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Decision Input feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDecisionInputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DecisionNode_decisionInput_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DecisionNode_decisionInput_feature", "_UI_DecisionNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDecisionNode_DecisionInput(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns DecisionNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DecisionNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DecisionNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DecisionNode_type") : //$NON-NLS-1$
+ getString("_UI_DecisionNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DependencyItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DependencyItemProvider.java
new file mode 100644
index 00000000..d9230a83
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DependencyItemProvider.java
@@ -0,0 +1,233 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DependencyItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Dependency} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependencyItemProvider
+ extends PackageableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DependencyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRelatedElementPropertyDescriptor(object);
+ addSourcePropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ addSupplierPropertyDescriptor(object);
+ addClientPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Related Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRelatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Supplier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSupplierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Dependency_supplier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Dependency_supplier_feature", "_UI_Dependency_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDependency_Supplier(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Client feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClientPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Dependency_client_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Dependency_client_feature", "_UI_Dependency_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDependency_Client(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns Dependency.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Dependency"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Dependency) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Dependency_type") : //$NON-NLS-1$
+ getString("_UI_Dependency_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeployedArtifactItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeployedArtifactItemProvider.java
new file mode 100644
index 00000000..e7406826
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeployedArtifactItemProvider.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DeployedArtifactItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DeployedArtifact;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DeployedArtifact} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeployedArtifactItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeployedArtifactItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DeployedArtifact) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DeployedArtifact_type") : //$NON-NLS-1$
+ getString("_UI_DeployedArtifact_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentItemProvider.java
new file mode 100644
index 00000000..aa33bc71
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentItemProvider.java
@@ -0,0 +1,313 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DeploymentItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Deployment;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Deployment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentItemProvider
+ extends DependencyItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDeployedArtifactPropertyDescriptor(object);
+ addConfigurationPropertyDescriptor(object);
+ addLocationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Deployed Artifact feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeployedArtifactPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Deployment_deployedArtifact_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Deployment_deployedArtifact_feature", "_UI_Deployment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeployment_DeployedArtifact(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Configuration feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConfigurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Deployment_configuration_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Deployment_configuration_feature", "_UI_Deployment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeployment_Configuration(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Location feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLocationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Deployment_location_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Deployment_location_feature", "_UI_Deployment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeployment_Location(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getDeployment_Configuration());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Deployment.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Deployment"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Deployment) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Deployment_type") : //$NON-NLS-1$
+ getString("_UI_Deployment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Deployment.class)) {
+ case UMLPackage.DEPLOYMENT__CONFIGURATION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDeployment_Configuration(), UMLFactory.eINSTANCE
+ .createDeploymentSpecification()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getDeployment_DeployedArtifact()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Supplier()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeployment_DeployedArtifact()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeployment_Location()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDeployment_DeployedArtifact()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Supplier()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeployment_DeployedArtifact()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeployment_Location()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE.getDeployment_Location()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Client()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentSpecificationItemProvider.java
new file mode 100644
index 00000000..e7e589e8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentSpecificationItemProvider.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DeploymentSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.DeploymentSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DeploymentSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentSpecificationItemProvider
+ extends ArtifactItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentSpecificationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDeploymentLocationPropertyDescriptor(object);
+ addExecutionLocationPropertyDescriptor(object);
+ addDeploymentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Deployment Location feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeploymentLocationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentSpecification_deploymentLocation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentSpecification_deploymentLocation_feature", "_UI_DeploymentSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getDeploymentSpecification_DeploymentLocation(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Execution Location feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExecutionLocationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentSpecification_executionLocation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentSpecification_executionLocation_feature", "_UI_DeploymentSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getDeploymentSpecification_ExecutionLocation(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Deployment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeploymentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentSpecification_deployment_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentSpecification_deployment_feature", "_UI_DeploymentSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeploymentSpecification_Deployment(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns DeploymentSpecification.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/DeploymentSpecification"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DeploymentSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DeploymentSpecification_type") : //$NON-NLS-1$
+ getString("_UI_DeploymentSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DeploymentSpecification.class)) {
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION :
+ case UMLPackage.DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentTargetItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentTargetItemProvider.java
new file mode 100644
index 00000000..640c4634
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeploymentTargetItemProvider.java
@@ -0,0 +1,258 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DeploymentTargetItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.DeploymentTarget;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DeploymentTarget} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentTargetItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeploymentTargetItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDeploymentPropertyDescriptor(object);
+ addDeployedElementPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Deployment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeploymentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentTarget_deployment_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployment_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeploymentTarget_Deployment(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Deployed Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeployedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentTarget_deployedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployedElement_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeploymentTarget_DeployedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DeploymentTarget) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DeploymentTarget_type") : //$NON-NLS-1$
+ getString("_UI_DeploymentTarget_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DeploymentTarget.class)) {
+ case UMLPackage.DEPLOYMENT_TARGET__DEPLOYMENT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment(), UMLFactory.eINSTANCE
+ .createDeployment()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyLinkActionItemProvider.java
new file mode 100644
index 00000000..8f12dba2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyLinkActionItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DestroyLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DestroyLinkAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DestroyLinkAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DestroyLinkActionItemProvider
+ extends WriteLinkActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestroyLinkActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns DestroyLinkAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DestroyLinkAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DestroyLinkAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DestroyLinkAction_type") : //$NON-NLS-1$
+ getString("_UI_DestroyLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyObjectActionItemProvider.java
new file mode 100644
index 00000000..890840cd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestroyObjectActionItemProvider.java
@@ -0,0 +1,258 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DestroyObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.DestroyObjectAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DestroyObjectAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DestroyObjectActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestroyObjectActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsDestroyLinksPropertyDescriptor(object);
+ addIsDestroyOwnedObjectsPropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Destroy Links feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDestroyLinksPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DestroyObjectAction_isDestroyLinks_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DestroyObjectAction_isDestroyLinks_feature", "_UI_DestroyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDestroyObjectAction_IsDestroyLinks(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Destroy Owned Objects feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDestroyOwnedObjectsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DestroyObjectAction_isDestroyOwnedObjects_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DestroyObjectAction_isDestroyOwnedObjects_feature", "_UI_DestroyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getDestroyObjectAction_IsDestroyOwnedObjects(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DestroyObjectAction_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DestroyObjectAction_target_feature", "_UI_DestroyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDestroyObjectAction_Target(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getDestroyObjectAction_Target());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns DestroyObjectAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DestroyObjectAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DestroyObjectAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DestroyObjectAction_type") : //$NON-NLS-1$
+ getString("_UI_DestroyObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DestroyObjectAction.class)) {
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_LINKS :
+ case UMLPackage.DESTROY_OBJECT_ACTION__IS_DESTROY_OWNED_OBJECTS :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.DESTROY_OBJECT_ACTION__TARGET :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDestroyObjectAction_Target(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDestroyObjectAction_Target(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDestroyObjectAction_Target(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestructionEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestructionEventItemProvider.java
new file mode 100644
index 00000000..d6a7bd3d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DestructionEventItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DestructionEventItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DestructionEvent;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DestructionEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DestructionEventItemProvider
+ extends EventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestructionEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns DestructionEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DestructionEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DestructionEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DestructionEvent_type") : //$NON-NLS-1$
+ getString("_UI_DestructionEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeviceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeviceItemProvider.java
new file mode 100644
index 00000000..37ab9956
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DeviceItemProvider.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DeviceItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Device;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Device} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeviceItemProvider
+ extends NodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Device.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Device"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Device) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Device_type") : //$NON-NLS-1$
+ getString("_UI_Device_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()
+ || childFeature == UMLPackage.eINSTANCE.getNode_NestedNode();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DirectedRelationshipItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DirectedRelationshipItemProvider.java
new file mode 100644
index 00000000..aefeac99
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DirectedRelationshipItemProvider.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DirectedRelationshipItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DirectedRelationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DirectedRelationshipItemProvider
+ extends RelationshipItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DirectedRelationshipItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSourcePropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_DirectedRelationship_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationConstraintItemProvider.java
new file mode 100644
index 00000000..1adde4d9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationConstraintItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DurationConstraintItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DurationConstraint;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DurationConstraint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DurationConstraintItemProvider
+ extends IntervalConstraintItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DurationConstraintItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns DurationConstraint.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DurationConstraint"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DurationConstraint) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DurationConstraint_type") : //$NON-NLS-1$
+ getString("_UI_DurationConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getConstraint_Specification();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationIntervalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationIntervalItemProvider.java
new file mode 100644
index 00000000..fc6023d0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationIntervalItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DurationIntervalItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DurationInterval;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DurationInterval} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DurationIntervalItemProvider
+ extends IntervalItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DurationIntervalItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns DurationInterval.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/DurationInterval"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DurationInterval) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DurationInterval_type") : //$NON-NLS-1$
+ getString("_UI_DurationInterval_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationItemProvider.java
new file mode 100644
index 00000000..8f26d879
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationItemProvider.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DurationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Duration;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Duration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DurationItemProvider
+ extends ValueSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DurationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addFirstTimePropertyDescriptor(object);
+ addEventPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the First Time feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFirstTimePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Duration_firstTime_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Duration_firstTime_feature", "_UI_Duration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDuration_FirstTime(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Event feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEventPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Duration_event_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Duration_event_feature", "_UI_Duration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDuration_Event(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns Duration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Duration"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Duration) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Duration_type") : //$NON-NLS-1$
+ getString("_UI_Duration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Duration.class)) {
+ case UMLPackage.DURATION__FIRST_TIME :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationObservationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationObservationActionItemProvider.java
new file mode 100644
index 00000000..6b3734b8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/DurationObservationActionItemProvider.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: DurationObservationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.DurationObservationAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.DurationObservationAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DurationObservationActionItemProvider
+ extends WriteStructuralFeatureActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DurationObservationActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDurationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Duration feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DurationObservationAction_duration_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DurationObservationAction_duration_feature", "_UI_DurationObservationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDurationObservationAction_Duration(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns DurationObservationAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/DurationObservationAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((DurationObservationAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_DurationObservationAction_type") : //$NON-NLS-1$
+ getString("_UI_DurationObservationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object()
+ || childFeature == UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementImportItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementImportItemProvider.java
new file mode 100644
index 00000000..cf0af4bd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementImportItemProvider.java
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ElementImportItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ElementImport;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ElementImport} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementImportItemProvider
+ extends DirectedRelationshipItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementImportItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addVisibilityPropertyDescriptor(object);
+ addAliasPropertyDescriptor(object);
+ addImportedElementPropertyDescriptor(object);
+ addImportingNamespacePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Visibility feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVisibilityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementImport_visibility_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ElementImport_visibility_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getElementImport_Visibility(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Alias feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAliasPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementImport_alias_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ElementImport_alias_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getElementImport_Alias(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Imported Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImportedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementImport_importedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ElementImport_importedElement_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getElementImport_ImportedElement(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Importing Namespace feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImportingNamespacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementImport_importingNamespace_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ElementImport_importingNamespace_feature", "_UI_ElementImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getElementImport_ImportingNamespace(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns ElementImport.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ElementImport"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ VisibilityKind labelValue = ((ElementImport) object).getVisibility();
+ String label = labelValue == null
+ ? null
+ : labelValue.toString();
+ return label == null || label.length() == 0
+ ? getString("_UI_ElementImport_type") : //$NON-NLS-1$
+ getString("_UI_ElementImport_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ElementImport.class)) {
+ case UMLPackage.ELEMENT_IMPORT__VISIBILITY :
+ case UMLPackage.ELEMENT_IMPORT__ALIAS :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementItemProvider.java
new file mode 100644
index 00000000..06830e6f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ElementItemProvider.java
@@ -0,0 +1,258 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ElementItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Element} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementItemProvider
+ extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedElementPropertyDescriptor(object);
+ addOwnerPropertyDescriptor(object);
+ addOwnedCommentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Element_ownedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Element_ownedElement_feature", "_UI_Element_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getElement_OwnedElement(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owner feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Element_owner_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Element_owner_feature", "_UI_Element_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getElement_Owner(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedCommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Element_ownedComment_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Element_ownedComment_feature", "_UI_Element_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getElement_OwnedComment(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(EcorePackage.eINSTANCE
+ .getEModelElement_EAnnotations());
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getElement_OwnedComment());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_Element_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Element.class)) {
+ case UMLPackage.ELEMENT__EANNOTATIONS :
+ case UMLPackage.ELEMENT__OWNED_COMMENT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getElement_OwnedComment(), UMLFactory.eINSTANCE.createComment()));
+ }
+
+ /**
+ * This returns the icon image for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getCreateChildImage(Object owner, Object feature,
+ Object child, Collection selection) {
+ if (feature instanceof EStructuralFeature
+ && FeatureMapUtil.isFeatureMap((EStructuralFeature) feature)) {
+ FeatureMap.Entry entry = (FeatureMap.Entry) child;
+ feature = entry.getEStructuralFeature();
+ child = entry.getValue();
+ }
+
+ if (feature instanceof EReference && child instanceof EObject) {
+ String name = "full/obj16/" + ((EObject) child).eClass().getName(); //$NON-NLS-1$
+
+ try {
+ return getResourceLocator().getImage(name);
+ } catch (Exception e) {
+ UMLEditPlugin.INSTANCE.log(e);
+ }
+ }
+
+ return super.getCreateChildImage(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EncapsulatedClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EncapsulatedClassifierItemProvider.java
new file mode 100644
index 00000000..d63de964
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EncapsulatedClassifierItemProvider.java
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: EncapsulatedClassifierItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.EncapsulatedClassifier;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.EncapsulatedClassifier} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EncapsulatedClassifierItemProvider
+ extends StructuredClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EncapsulatedClassifierItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedPortPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EncapsulatedClassifier_ownedPort_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_EncapsulatedClassifier_ownedPort_feature", "_UI_EncapsulatedClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getEncapsulatedClassifier_OwnedPort(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((EncapsulatedClassifier) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_EncapsulatedClassifier_type") : //$NON-NLS-1$
+ getString("_UI_EncapsulatedClassifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE
+ .getEncapsulatedClassifier_OwnedPort()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute()}, collection,
+ index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getEncapsulatedClassifier_OwnedPort()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getEncapsulatedClassifier_OwnedPort()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute()}, value,
+ collection);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getEncapsulatedClassifier_OwnedPort()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationItemProvider.java
new file mode 100644
index 00000000..2ce66fcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationItemProvider.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: EnumerationItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Enumeration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnumerationItemProvider
+ extends DataTypeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedLiteralPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Literal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedLiteralPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Enumeration_ownedLiteral_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Enumeration_ownedLiteral_feature", "_UI_Enumeration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getEnumeration_OwnedLiteral(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getEnumeration_OwnedLiteral());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Enumeration.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Enumeration"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Enumeration) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Enumeration_type") : //$NON-NLS-1$
+ getString("_UI_Enumeration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Enumeration.class)) {
+ case UMLPackage.ENUMERATION__OWNED_LITERAL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getEnumeration_OwnedLiteral(), UMLFactory.eINSTANCE
+ .createEnumerationLiteral()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationLiteralItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationLiteralItemProvider.java
new file mode 100644
index 00000000..2d1ec39f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EnumerationLiteralItemProvider.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: EnumerationLiteralItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.EnumerationLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnumerationLiteralItemProvider
+ extends InstanceSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteralItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addEnumerationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Enumeration feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEnumerationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EnumerationLiteral_enumeration_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_EnumerationLiteral_enumeration_feature", "_UI_EnumerationLiteral_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getEnumerationLiteral_Enumeration(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns EnumerationLiteral.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/EnumerationLiteral"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((EnumerationLiteral) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_EnumerationLiteral_type") : //$NON-NLS-1$
+ getString("_UI_EnumerationLiteral_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EventItemProvider.java
new file mode 100644
index 00000000..4d50a431
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/EventItemProvider.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: EventItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Event;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Event} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EventItemProvider
+ extends PackageableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Event) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Event_type") : //$NON-NLS-1$
+ getString("_UI_Event_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExceptionHandlerItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExceptionHandlerItemProvider.java
new file mode 100644
index 00000000..1babcc92
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExceptionHandlerItemProvider.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExceptionHandlerItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExceptionHandler} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExceptionHandlerItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExceptionHandlerItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addHandlerBodyPropertyDescriptor(object);
+ addExceptionInputPropertyDescriptor(object);
+ addExceptionTypePropertyDescriptor(object);
+ addProtectedNodePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Handler Body feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addHandlerBodyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExceptionHandler_handlerBody_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_handlerBody_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExceptionHandler_HandlerBody(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Exception Input feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExceptionInputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExceptionHandler_exceptionInput_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_exceptionInput_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExceptionHandler_ExceptionInput(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Exception Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExceptionTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExceptionHandler_exceptionType_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_exceptionType_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExceptionHandler_ExceptionType(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Protected Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addProtectedNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExceptionHandler_protectedNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExceptionHandler_protectedNode_feature", "_UI_ExceptionHandler_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExceptionHandler_ProtectedNode(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns ExceptionHandler.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ExceptionHandler"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_ExceptionHandler_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutableNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutableNodeItemProvider.java
new file mode 100644
index 00000000..1a671b8c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutableNodeItemProvider.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExecutableNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ExecutableNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutableNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExecutableNodeItemProvider
+ extends ActivityNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutableNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addHandlerPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Handler feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addHandlerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExecutableNode_handler_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExecutableNode_handler_feature", "_UI_ExecutableNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExecutableNode_Handler(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getExecutableNode_Handler());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExecutableNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExecutableNode_type") : //$NON-NLS-1$
+ getString("_UI_ExecutableNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ExecutableNode.class)) {
+ case UMLPackage.EXECUTABLE_NODE__HANDLER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExecutableNode_Handler(), UMLFactory.eINSTANCE
+ .createExceptionHandler()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEnvironmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEnvironmentItemProvider.java
new file mode 100644
index 00000000..3bbdfd9f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEnvironmentItemProvider.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExecutionEnvironmentItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ExecutionEnvironment;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionEnvironment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExecutionEnvironmentItemProvider
+ extends NodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionEnvironmentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ExecutionEnvironment.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ExecutionEnvironment"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExecutionEnvironment) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExecutionEnvironment_type") : //$NON-NLS-1$
+ getString("_UI_ExecutionEnvironment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()
+ || childFeature == UMLPackage.eINSTANCE.getNode_NestedNode();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEventItemProvider.java
new file mode 100644
index 00000000..1651234a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionEventItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExecutionEventItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ExecutionEvent;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExecutionEventItemProvider
+ extends EventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ExecutionEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ExecutionEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExecutionEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExecutionEvent_type") : //$NON-NLS-1$
+ getString("_UI_ExecutionEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionOccurrenceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionOccurrenceSpecificationItemProvider.java
new file mode 100644
index 00000000..eb807b6a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionOccurrenceSpecificationItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExecutionOccurrenceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionOccurrenceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExecutionOccurrenceSpecificationItemProvider
+ extends OccurrenceSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionOccurrenceSpecificationItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addExecutionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Execution feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExecutionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExecutionOccurrenceSpecification_execution_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExecutionOccurrenceSpecification_execution_feature", "_UI_ExecutionOccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getExecutionOccurrenceSpecification_Execution(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns ExecutionOccurrenceSpecification.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ExecutionOccurrenceSpecification"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExecutionOccurrenceSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExecutionOccurrenceSpecification_type") : //$NON-NLS-1$
+ getString("_UI_ExecutionOccurrenceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionSpecificationItemProvider.java
new file mode 100644
index 00000000..7c78c876
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExecutionSpecificationItemProvider.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExecutionSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ExecutionSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExecutionSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExecutionSpecificationItemProvider
+ extends InteractionFragmentItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionSpecificationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addStartPropertyDescriptor(object);
+ addFinishPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Start feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStartPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExecutionSpecification_start_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExecutionSpecification_start_feature", "_UI_ExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExecutionSpecification_Start(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Finish feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFinishPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExecutionSpecification_finish_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExecutionSpecification_finish_feature", "_UI_ExecutionSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExecutionSpecification_Finish(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExecutionSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExecutionSpecification_type") : //$NON-NLS-1$
+ getString("_UI_ExecutionSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionNodeItemProvider.java
new file mode 100644
index 00000000..33f8070c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionNodeItemProvider.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExpansionNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ExpansionNode;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExpansionNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpansionNodeItemProvider
+ extends ObjectNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRegionAsOutputPropertyDescriptor(object);
+ addRegionAsInputPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Region As Output feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRegionAsOutputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExpansionNode_regionAsOutput_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExpansionNode_regionAsOutput_feature", "_UI_ExpansionNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExpansionNode_RegionAsOutput(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Region As Input feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRegionAsInputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExpansionNode_regionAsInput_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExpansionNode_regionAsInput_feature", "_UI_ExpansionNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExpansionNode_RegionAsInput(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns ExpansionNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ExpansionNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExpansionNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExpansionNode_type") : //$NON-NLS-1$
+ getString("_UI_ExpansionNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionRegionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionRegionItemProvider.java
new file mode 100644
index 00000000..1aa0012a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpansionRegionItemProvider.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExpansionRegionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ExpansionRegion;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExpansionRegion} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpansionRegionItemProvider
+ extends StructuredActivityNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addModePropertyDescriptor(object);
+ addInputElementPropertyDescriptor(object);
+ addOutputElementPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Mode feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addModePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExpansionRegion_mode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExpansionRegion_mode_feature", "_UI_ExpansionRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExpansionRegion_Mode(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Input Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInputElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExpansionRegion_inputElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExpansionRegion_inputElement_feature", "_UI_ExpansionRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExpansionRegion_InputElement(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Output Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOutputElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExpansionRegion_outputElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExpansionRegion_outputElement_feature", "_UI_ExpansionRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExpansionRegion_OutputElement(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns ExpansionRegion.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ExpansionRegion"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExpansionRegion) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExpansionRegion_type") : //$NON-NLS-1$
+ getString("_UI_ExpansionRegion_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ExpansionRegion.class)) {
+ case UMLPackage.EXPANSION_REGION__MODE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpressionItemProvider.java
new file mode 100644
index 00000000..14d7ee66
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExpressionItemProvider.java
@@ -0,0 +1,276 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExpressionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Expression;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Expression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpressionItemProvider
+ extends ValueSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSymbolPropertyDescriptor(object);
+ addOperandPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Symbol feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSymbolPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Expression_symbol_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Expression_symbol_feature", "_UI_Expression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExpression_Symbol(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Operand feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOperandPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Expression_operand_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Expression_operand_feature", "_UI_Expression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExpression_Operand(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getExpression_Operand());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Expression.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Expression"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Expression) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Expression_type") : //$NON-NLS-1$
+ getString("_UI_Expression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Expression.class)) {
+ case UMLPackage.EXPRESSION__SYMBOL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.EXPRESSION__OPERAND :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getExpression_Operand(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getExpression_Operand();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtendItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtendItemProvider.java
new file mode 100644
index 00000000..65192e0d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtendItemProvider.java
@@ -0,0 +1,320 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExtendItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Extend;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Extend} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtendItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtendItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRelatedElementPropertyDescriptor(object);
+ addSourcePropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ addExtendedCasePropertyDescriptor(object);
+ addConditionPropertyDescriptor(object);
+ addExtensionLocationPropertyDescriptor(object);
+ addExtensionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Related Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRelatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extended Case feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtendedCasePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Extend_extendedCase_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Extend_extendedCase_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExtend_ExtendedCase(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Condition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Extend_condition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Extend_condition_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExtend_Condition(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extension Location feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtensionLocationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Extend_extensionLocation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Extend_extensionLocation_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExtend_ExtensionLocation(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Extension feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtensionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Extend_extension_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Extend_extension_feature", "_UI_Extend_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExtend_Extension(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getExtend_Condition());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Extend.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Extend"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Extend) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Extend_type") : //$NON-NLS-1$
+ getString("_UI_Extend_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Extend.class)) {
+ case UMLPackage.EXTEND__CONDITION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExtend_Condition(), UMLFactory.eINSTANCE.createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExtend_Condition(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExtend_Condition(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getExtend_Condition(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getExtend_Condition(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionEndItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionEndItemProvider.java
new file mode 100644
index 00000000..a01896ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionEndItemProvider.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExtensionEndItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ExtensionEnd;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExtensionEnd} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionEndItemProvider
+ extends PropertyItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionEndItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ExtensionEnd.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ExtensionEnd"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExtensionEnd) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExtensionEnd_type") : //$NON-NLS-1$
+ getString("_UI_ExtensionEnd_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue()
+ || childFeature == UMLPackage.eINSTANCE.getProperty_DefaultValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionItemProvider.java
new file mode 100644
index 00000000..c1c19a68
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionItemProvider.java
@@ -0,0 +1,247 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExtensionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Extension} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionItemProvider
+ extends AssociationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsRequiredPropertyDescriptor(object);
+ addMetaclassPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Required feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsRequiredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Extension_isRequired_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Extension_isRequired_feature", "_UI_Extension_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExtension_IsRequired(), false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Metaclass feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMetaclassPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Extension_metaclass_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Extension_metaclass_feature", "_UI_Extension_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExtension_Metaclass(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns Extension.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Extension"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Extension) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Extension_type") : //$NON-NLS-1$
+ getString("_UI_Extension_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Extension.class)) {
+ case UMLPackage.EXTENSION__IS_REQUIRED :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getAssociation_OwnedEnd()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getAssociation_OwnedEnd()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionPointItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionPointItemProvider.java
new file mode 100644
index 00000000..56b90f21
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ExtensionPointItemProvider.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ExtensionPointItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ExtensionPoint;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ExtensionPoint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionPointItemProvider
+ extends RedefinableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPointItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addUseCasePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Use Case feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUseCasePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ExtensionPoint_useCase_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ExtensionPoint_useCase_feature", "_UI_ExtensionPoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getExtensionPoint_UseCase(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns ExtensionPoint.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ExtensionPoint"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ExtensionPoint) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ExtensionPoint_type") : //$NON-NLS-1$
+ getString("_UI_ExtensionPoint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FeatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FeatureItemProvider.java
new file mode 100644
index 00000000..7c4fd6ec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FeatureItemProvider.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: FeatureItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Feature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FeatureItemProvider
+ extends RedefinableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsStaticPropertyDescriptor(object);
+ addFeaturingClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Static feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsStaticPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Feature_isStatic_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Feature_isStatic_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getFeature_IsStatic(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Featuring Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFeaturingClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Feature_featuringClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Feature_featuringClassifier_feature", "_UI_Feature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getFeature_FeaturingClassifier(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Feature) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Feature_type") : //$NON-NLS-1$
+ getString("_UI_Feature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Feature.class)) {
+ case UMLPackage.FEATURE__IS_STATIC :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalNodeItemProvider.java
new file mode 100644
index 00000000..eca91d79
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalNodeItemProvider.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: FinalNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.FinalNode;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FinalNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FinalNodeItemProvider
+ extends ControlNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FinalNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((FinalNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_FinalNode_type") : //$NON-NLS-1$
+ getString("_UI_FinalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalStateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalStateItemProvider.java
new file mode 100644
index 00000000..564dbaed
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FinalStateItemProvider.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: FinalStateItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.FinalState;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FinalState} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FinalStateItemProvider
+ extends StateItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FinalStateItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns FinalState.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/FinalState"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((FinalState) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_FinalState_type") : //$NON-NLS-1$
+ getString("_UI_FinalState_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()
+ || childFeature == UMLPackage.eINSTANCE.getState_StateInvariant()
+ || childFeature == UMLPackage.eINSTANCE.getState_Entry()
+ || childFeature == UMLPackage.eINSTANCE.getState_Exit()
+ || childFeature == UMLPackage.eINSTANCE.getState_DoActivity();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FlowFinalNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FlowFinalNodeItemProvider.java
new file mode 100644
index 00000000..5dfc331c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FlowFinalNodeItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: FlowFinalNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.FlowFinalNode;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FlowFinalNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FlowFinalNodeItemProvider
+ extends FinalNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowFinalNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns FlowFinalNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/FlowFinalNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((FlowFinalNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_FlowFinalNode_type") : //$NON-NLS-1$
+ getString("_UI_FlowFinalNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ForkNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ForkNodeItemProvider.java
new file mode 100644
index 00000000..43b8941e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ForkNodeItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ForkNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.ForkNode;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ForkNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ForkNodeItemProvider
+ extends ControlNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForkNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ForkNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ForkNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ForkNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ForkNode_type") : //$NON-NLS-1$
+ getString("_UI_ForkNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FunctionBehaviorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FunctionBehaviorItemProvider.java
new file mode 100644
index 00000000..fa5fd131
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/FunctionBehaviorItemProvider.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: FunctionBehaviorItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.FunctionBehavior;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.FunctionBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionBehaviorItemProvider
+ extends OpaqueBehaviorItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionBehaviorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns FunctionBehavior.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/FunctionBehavior"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((FunctionBehavior) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_FunctionBehavior_type") : //$NON-NLS-1$
+ getString("_UI_FunctionBehavior_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GateItemProvider.java
new file mode 100644
index 00000000..bfa52ea4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GateItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: GateItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Gate;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Gate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GateItemProvider
+ extends MessageEndItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GateItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Gate.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Gate"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Gate) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Gate_type") : //$NON-NLS-1$
+ getString("_UI_Gate_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralOrderingItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralOrderingItemProvider.java
new file mode 100644
index 00000000..26ec9fe5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralOrderingItemProvider.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: GeneralOrderingItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.GeneralOrdering;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.GeneralOrdering} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GeneralOrderingItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralOrderingItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBeforePropertyDescriptor(object);
+ addAfterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Before feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBeforePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GeneralOrdering_before_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_GeneralOrdering_before_feature", "_UI_GeneralOrdering_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralOrdering_Before(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the After feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAfterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GeneralOrdering_after_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_GeneralOrdering_after_feature", "_UI_GeneralOrdering_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralOrdering_After(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns GeneralOrdering.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/GeneralOrdering"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((GeneralOrdering) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_GeneralOrdering_type") : //$NON-NLS-1$
+ getString("_UI_GeneralOrdering_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationItemProvider.java
new file mode 100644
index 00000000..ccf7a052
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationItemProvider.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: GeneralizationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Generalization} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GeneralizationItemProvider
+ extends DirectedRelationshipItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralizationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsSubstitutablePropertyDescriptor(object);
+ addGeneralPropertyDescriptor(object);
+ addGeneralizationSetPropertyDescriptor(object);
+ addSpecificPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Substitutable feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsSubstitutablePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Generalization_isSubstitutable_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Generalization_isSubstitutable_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralization_IsSubstitutable(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the General feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Generalization_general_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Generalization_general_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralization_General(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Generalization Set feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralizationSetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Generalization_generalizationSet_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Generalization_generalizationSet_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralization_GeneralizationSet(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Specific feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSpecificPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Generalization_specific_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Generalization_specific_feature", "_UI_Generalization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralization_Specific(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns Generalization.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Generalization"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ Generalization generalization = (Generalization) object;
+ return getString("_UI_Generalization_type") + " " + generalization.isSubstitutable(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Generalization.class)) {
+ case UMLPackage.GENERALIZATION__IS_SUBSTITUTABLE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationSetItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationSetItemProvider.java
new file mode 100644
index 00000000..b38962d2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/GeneralizationSetItemProvider.java
@@ -0,0 +1,217 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: GeneralizationSetItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.GeneralizationSet;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.GeneralizationSet} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GeneralizationSetItemProvider
+ extends PackageableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneralizationSetItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsCoveringPropertyDescriptor(object);
+ addIsDisjointPropertyDescriptor(object);
+ addPowertypePropertyDescriptor(object);
+ addGeneralizationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Covering feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsCoveringPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GeneralizationSet_isCovering_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_isCovering_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralizationSet_IsCovering(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Disjoint feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDisjointPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GeneralizationSet_isDisjoint_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_isDisjoint_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralizationSet_IsDisjoint(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Powertype feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPowertypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GeneralizationSet_powertype_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_powertype_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralizationSet_Powertype(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Generalization feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GeneralizationSet_generalization_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_GeneralizationSet_generalization_feature", "_UI_GeneralizationSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getGeneralizationSet_Generalization(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns GeneralizationSet.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/GeneralizationSet"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((GeneralizationSet) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_GeneralizationSet_type") : //$NON-NLS-1$
+ getString("_UI_GeneralizationSet_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(GeneralizationSet.class)) {
+ case UMLPackage.GENERALIZATION_SET__IS_COVERING :
+ case UMLPackage.GENERALIZATION_SET__IS_DISJOINT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ImageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ImageItemProvider.java
new file mode 100644
index 00000000..a1ee2173
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ImageItemProvider.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ImageItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Image} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ImageItemProvider
+ extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImageItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_Image_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the icon image for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getCreateChildImage(Object owner, Object feature,
+ Object child, Collection selection) {
+ if (feature instanceof EStructuralFeature
+ && FeatureMapUtil.isFeatureMap((EStructuralFeature) feature)) {
+ FeatureMap.Entry entry = (FeatureMap.Entry) child;
+ feature = entry.getEStructuralFeature();
+ child = entry.getValue();
+ }
+
+ if (feature instanceof EReference && child instanceof EObject) {
+ String name = "full/obj16/" + ((EObject) child).eClass().getName(); //$NON-NLS-1$
+
+ try {
+ return getResourceLocator().getImage(name);
+ } catch (Exception e) {
+ UMLEditPlugin.INSTANCE.log(e);
+ }
+ }
+
+ return super.getCreateChildImage(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IncludeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IncludeItemProvider.java
new file mode 100644
index 00000000..4147467b
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IncludeItemProvider.java
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: IncludeItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Include;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Include} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IncludeItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IncludeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRelatedElementPropertyDescriptor(object);
+ addSourcePropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ addAdditionPropertyDescriptor(object);
+ addIncludingCasePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Related Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRelatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Addition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAdditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Include_addition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Include_addition_feature", "_UI_Include_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInclude_Addition(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Including Case feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIncludingCasePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Include_includingCase_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Include_includingCase_feature", "_UI_Include_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInclude_IncludingCase(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns Include.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Include"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Include) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Include_type") : //$NON-NLS-1$
+ getString("_UI_Include_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationFlowItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationFlowItemProvider.java
new file mode 100644
index 00000000..bf40acbe
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationFlowItemProvider.java
@@ -0,0 +1,333 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InformationFlowItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InformationFlow} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InformationFlowItemProvider
+ extends PackageableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationFlowItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRelatedElementPropertyDescriptor(object);
+ addSourcePropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ addRealizationPropertyDescriptor(object);
+ addConveyedPropertyDescriptor(object);
+ addInformationSourcePropertyDescriptor(object);
+ addInformationTargetPropertyDescriptor(object);
+ addRealizingActivityEdgePropertyDescriptor(object);
+ addRealizingConnectorPropertyDescriptor(object);
+ addRealizingMessagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Related Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRelatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_source_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_source_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Source(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationship_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DirectedRelationship_target_feature", "_UI_DirectedRelationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDirectedRelationship_Target(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Realization feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRealizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationFlow_realization_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realization_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationFlow_Realization(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Conveyed feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConveyedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationFlow_conveyed_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationFlow_conveyed_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationFlow_Conveyed(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Information Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInformationSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationFlow_informationSource_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationFlow_informationSource_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationFlow_InformationSource(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Information Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInformationTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationFlow_informationTarget_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationFlow_informationTarget_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationFlow_InformationTarget(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Realizing Activity Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRealizingActivityEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationFlow_realizingActivityEdge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realizingActivityEdge_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationFlow_RealizingActivityEdge(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Realizing Connector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRealizingConnectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationFlow_realizingConnector_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realizingConnector_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationFlow_RealizingConnector(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Realizing Message feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRealizingMessagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationFlow_realizingMessage_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationFlow_realizingMessage_feature", "_UI_InformationFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationFlow_RealizingMessage(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns InformationFlow.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InformationFlow"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InformationFlow) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InformationFlow_type") : //$NON-NLS-1$
+ getString("_UI_InformationFlow_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationItemItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationItemItemProvider.java
new file mode 100644
index 00000000..9031dbf0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InformationItemItemProvider.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InformationItemItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.InformationItem;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InformationItem} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InformationItemItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationItemItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRepresentedPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Represented feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRepresentedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InformationItem_represented_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InformationItem_represented_feature", "_UI_InformationItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInformationItem_Represented(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns InformationItem.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InformationItem"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InformationItem) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InformationItem_type") : //$NON-NLS-1$
+ getString("_UI_InformationItem_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InitialNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InitialNodeItemProvider.java
new file mode 100644
index 00000000..48cb0776
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InitialNodeItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InitialNodeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.InitialNode;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InitialNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InitialNodeItemProvider
+ extends ControlNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InitialNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns InitialNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InitialNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InitialNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InitialNode_type") : //$NON-NLS-1$
+ getString("_UI_InitialNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InputPinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InputPinItemProvider.java
new file mode 100644
index 00000000..003cc6dc
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InputPinItemProvider.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InputPinItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InputPin} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InputPinItemProvider
+ extends PinItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPinItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns InputPin.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InputPin"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InputPin) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InputPin_type") : //$NON-NLS-1$
+ getString("_UI_InputPin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceSpecificationItemProvider.java
new file mode 100644
index 00000000..102bbd0e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceSpecificationItemProvider.java
@@ -0,0 +1,395 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InstanceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InstanceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InstanceSpecificationItemProvider
+ extends DeploymentTargetItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecificationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ addClassifierPropertyDescriptor(object);
+ addSpecificationPropertyDescriptor(object);
+ addSlotPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InstanceSpecification_classifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InstanceSpecification_classifier_feature", "_UI_InstanceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInstanceSpecification_Classifier(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Specification feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSpecificationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InstanceSpecification_specification_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InstanceSpecification_specification_feature", "_UI_InstanceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInstanceSpecification_Specification(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Slot feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSlotPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InstanceSpecification_slot_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InstanceSpecification_slot_feature", "_UI_InstanceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInstanceSpecification_Slot(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Slot());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns InstanceSpecification.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator()
+ .getImage("full/obj16/InstanceSpecification"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InstanceSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InstanceSpecification_type") : //$NON-NLS-1$
+ getString("_UI_InstanceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(InstanceSpecification.class)) {
+ case UMLPackage.INSTANCE_SPECIFICATION__SPECIFICATION :
+ case UMLPackage.INSTANCE_SPECIFICATION__SLOT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getInstanceSpecification_Slot(), UMLFactory.eINSTANCE
+ .createSlot()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInstanceSpecification_Specification();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceValueItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceValueItemProvider.java
new file mode 100644
index 00000000..4d57f6c0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InstanceValueItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InstanceValueItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InstanceValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InstanceValueItemProvider
+ extends ValueSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceValueItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addInstancePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Instance feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInstancePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InstanceValue_instance_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InstanceValue_instance_feature", "_UI_InstanceValue_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInstanceValue_Instance(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns InstanceValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InstanceValue"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InstanceValue) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InstanceValue_type") : //$NON-NLS-1$
+ getString("_UI_InstanceValue_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionConstraintItemProvider.java
new file mode 100644
index 00000000..4b01903a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionConstraintItemProvider.java
@@ -0,0 +1,355 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InteractionConstraintItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.InteractionConstraint;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionConstraint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InteractionConstraintItemProvider
+ extends ConstraintItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionConstraintItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMinintPropertyDescriptor(object);
+ addMaxintPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Minint feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMinintPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionConstraint_minint_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionConstraint_minint_feature", "_UI_InteractionConstraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionConstraint_Minint(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Maxint feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMaxintPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionConstraint_maxint_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionConstraint_maxint_feature", "_UI_InteractionConstraint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionConstraint_Maxint(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns InteractionConstraint.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator()
+ .getImage("full/obj16/InteractionConstraint"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InteractionConstraint) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InteractionConstraint_type") : //$NON-NLS-1$
+ getString("_UI_InteractionConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(InteractionConstraint.class)) {
+ case UMLPackage.INTERACTION_CONSTRAINT__MININT :
+ case UMLPackage.INTERACTION_CONSTRAINT__MAXINT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getConstraint_Specification()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInteractionConstraint_Minint()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInteractionConstraint_Maxint();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionFragmentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionFragmentItemProvider.java
new file mode 100644
index 00000000..228007b4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionFragmentItemProvider.java
@@ -0,0 +1,233 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InteractionFragmentItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.InteractionFragment;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionFragment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InteractionFragmentItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionFragmentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addCoveredPropertyDescriptor(object);
+ addGeneralOrderingPropertyDescriptor(object);
+ addEnclosingInteractionPropertyDescriptor(object);
+ addEnclosingOperandPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Covered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCoveredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_covered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_covered_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_Covered(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the General Ordering feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralOrderingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_generalOrdering_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_generalOrdering_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_GeneralOrdering(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Enclosing Interaction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEnclosingInteractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_enclosingInteraction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingInteraction_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getInteractionFragment_EnclosingInteraction(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Enclosing Operand feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEnclosingOperandPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_enclosingOperand_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingOperand_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_EnclosingOperand(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionFragment_GeneralOrdering());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InteractionFragment) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InteractionFragment_type") : //$NON-NLS-1$
+ getString("_UI_InteractionFragment_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(InteractionFragment.class)) {
+ case UMLPackage.INTERACTION_FRAGMENT__GENERAL_ORDERING :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionFragment_GeneralOrdering(), UMLFactory.eINSTANCE
+ .createGeneralOrdering()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionItemProvider.java
new file mode 100644
index 00000000..edf8f366
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionItemProvider.java
@@ -0,0 +1,635 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InteractionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Interaction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InteractionItemProvider
+ extends BehaviorItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addCoveredPropertyDescriptor(object);
+ addGeneralOrderingPropertyDescriptor(object);
+ addEnclosingInteractionPropertyDescriptor(object);
+ addEnclosingOperandPropertyDescriptor(object);
+ addLifelinePropertyDescriptor(object);
+ addFragmentPropertyDescriptor(object);
+ addActionPropertyDescriptor(object);
+ addFormalGatePropertyDescriptor(object);
+ addMessagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Covered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCoveredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_covered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_covered_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_Covered(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the General Ordering feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralOrderingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_generalOrdering_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_generalOrdering_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_GeneralOrdering(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Enclosing Interaction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEnclosingInteractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_enclosingInteraction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingInteraction_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getInteractionFragment_EnclosingInteraction(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Enclosing Operand feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEnclosingOperandPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_enclosingOperand_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingOperand_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_EnclosingOperand(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lifeline feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLifelinePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interaction_lifeline_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interaction_lifeline_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteraction_Lifeline(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Fragment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFragmentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interaction_fragment_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interaction_fragment_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteraction_Fragment(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Action feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addActionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interaction_action_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interaction_action_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteraction_Action(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Formal Gate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFormalGatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interaction_formalGate_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interaction_formalGate_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteraction_FormalGate(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Message feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMessagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interaction_message_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interaction_message_feature", "_UI_Interaction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteraction_Message(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionFragment_GeneralOrdering());
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getInteraction_Lifeline());
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getInteraction_Fragment());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getInteraction_Action());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteraction_FormalGate());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getInteraction_Message());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Interaction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Interaction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Interaction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Interaction_type") : //$NON-NLS-1$
+ getString("_UI_Interaction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Interaction.class)) {
+ case UMLPackage.INTERACTION__GENERAL_ORDERING :
+ case UMLPackage.INTERACTION__LIFELINE :
+ case UMLPackage.INTERACTION__FRAGMENT :
+ case UMLPackage.INTERACTION__ACTION :
+ case UMLPackage.INTERACTION__FORMAL_GATE :
+ case UMLPackage.INTERACTION__MESSAGE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionFragment_GeneralOrdering(), UMLFactory.eINSTANCE
+ .createGeneralOrdering()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Lifeline(), UMLFactory.eINSTANCE.createLifeline()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createInteractionUse()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createPartDecomposition()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createInteractionOperand()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createExecutionOccurrenceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createStateInvariant()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createActionExecutionSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createBehaviorExecutionSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createMessageOccurrenceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createCombinedFragment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createContinuation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Fragment(), UMLFactory.eINSTANCE
+ .createConsiderIgnoreFragment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE.createAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createStructuredActivityNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createCreateObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createDestroyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createTestIdentityAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadSelfAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createClearStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createRemoveStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createAddStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createCreateLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createDestroyLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createClearAssociationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createBroadcastSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createSendObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createValueSpecificationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createTimeObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createDurationObservationAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createOpaqueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createSendSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createCallOperationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createCallBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createClearVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createAddVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createRemoveVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createRaiseExceptionAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadExtentAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReclassifyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadIsClassifiedObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createStartClassifierBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndQualifierAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createCreateLinkObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createAcceptEventAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createAcceptCallAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createReplyAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createUnmarshallAction()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createSequenceNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createConditionalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE.createLoopNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Action(), UMLFactory.eINSTANCE
+ .createExpansionRegion()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_FormalGate(), UMLFactory.eINSTANCE.createGate()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteraction_Message(), UMLFactory.eINSTANCE.createMessage()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()
+ || childFeature == UMLPackage.eINSTANCE.getInteraction_Fragment();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionOperandItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionOperandItemProvider.java
new file mode 100644
index 00000000..3259fc31
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionOperandItemProvider.java
@@ -0,0 +1,382 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InteractionOperandItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.InteractionOperand;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionOperand} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InteractionOperandItemProvider
+ extends NamespaceItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionOperandItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addCoveredPropertyDescriptor(object);
+ addGeneralOrderingPropertyDescriptor(object);
+ addEnclosingInteractionPropertyDescriptor(object);
+ addEnclosingOperandPropertyDescriptor(object);
+ addGuardPropertyDescriptor(object);
+ addFragmentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Covered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCoveredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_covered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_covered_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_Covered(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the General Ordering feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralOrderingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_generalOrdering_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_generalOrdering_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_GeneralOrdering(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Enclosing Interaction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEnclosingInteractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_enclosingInteraction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingInteraction_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getInteractionFragment_EnclosingInteraction(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Enclosing Operand feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEnclosingOperandPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionFragment_enclosingOperand_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionFragment_enclosingOperand_feature", "_UI_InteractionFragment_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionFragment_EnclosingOperand(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Guard feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGuardPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionOperand_guard_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionOperand_guard_feature", "_UI_InteractionOperand_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionOperand_Guard(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Fragment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFragmentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionOperand_fragment_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionOperand_fragment_feature", "_UI_InteractionOperand_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionOperand_Fragment(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionFragment_GeneralOrdering());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionOperand_Guard());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns InteractionOperand.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InteractionOperand"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InteractionOperand) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InteractionOperand_type") : //$NON-NLS-1$
+ getString("_UI_InteractionOperand_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(InteractionOperand.class)) {
+ case UMLPackage.INTERACTION_OPERAND__GENERAL_ORDERING :
+ case UMLPackage.INTERACTION_OPERAND__GUARD :
+ case UMLPackage.INTERACTION_OPERAND__FRAGMENT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionFragment_GeneralOrdering(), UMLFactory.eINSTANCE
+ .createGeneralOrdering()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Guard(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createInteractionUse()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createPartDecomposition()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createInteractionOperand()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createExecutionOccurrenceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createStateInvariant()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createActionExecutionSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createBehaviorExecutionSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createMessageOccurrenceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createCombinedFragment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createContinuation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionOperand_Fragment(), UMLFactory.eINSTANCE
+ .createConsiderIgnoreFragment()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInteractionOperand_Guard();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionUseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionUseItemProvider.java
new file mode 100644
index 00000000..2cee11ba
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InteractionUseItemProvider.java
@@ -0,0 +1,411 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InteractionUseItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.InteractionUse;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InteractionUse} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InteractionUseItemProvider
+ extends InteractionFragmentItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionUseItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRefersToPropertyDescriptor(object);
+ addActualGatePropertyDescriptor(object);
+ addArgumentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Refers To feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRefersToPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionUse_refersTo_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionUse_refersTo_feature", "_UI_InteractionUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionUse_RefersTo(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Actual Gate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addActualGatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionUse_actualGate_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionUse_actualGate_feature", "_UI_InteractionUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionUse_ActualGate(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Argument feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addArgumentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InteractionUse_argument_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InteractionUse_argument_feature", "_UI_InteractionUse_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInteractionUse_Argument(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionUse_ActualGate());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns InteractionUse.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InteractionUse"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InteractionUse) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InteractionUse_type") : //$NON-NLS-1$
+ getString("_UI_InteractionUse_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(InteractionUse.class)) {
+ case UMLPackage.INTERACTION_USE__ACTUAL_GATE :
+ case UMLPackage.INTERACTION_USE__ARGUMENT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_ActualGate(), UMLFactory.eINSTANCE
+ .createGate()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createStructuredActivityNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createCreateObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createDestroyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createTestIdentityAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadSelfAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createClearStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createRemoveStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createAddStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createCreateLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createDestroyLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createClearAssociationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createBroadcastSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createSendObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createValueSpecificationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createTimeObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createDurationObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createOpaqueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createSendSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createCallOperationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createCallBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createClearVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createAddVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createRemoveVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createRaiseExceptionAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadExtentAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReclassifyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadIsClassifiedObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createStartClassifierBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndQualifierAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createCreateLinkObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createAcceptEventAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createAcceptCallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createReplyAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createUnmarshallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createSequenceNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createConditionalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createLoopNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInteractionUse_Argument(), UMLFactory.eINSTANCE
+ .createExpansionRegion()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceItemProvider.java
new file mode 100644
index 00000000..6a8fbf86
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceItemProvider.java
@@ -0,0 +1,469 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InterfaceItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Interface} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedAttributePropertyDescriptor(object);
+ addNestedClassifierPropertyDescriptor(object);
+ addRedefinedInterfacePropertyDescriptor(object);
+ addOwnedReceptionPropertyDescriptor(object);
+ addProtocolPropertyDescriptor(object);
+ addOwnedOperationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedAttributePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interface_ownedAttribute_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interface_ownedAttribute_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterface_OwnedAttribute(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Nested Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNestedClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interface_nestedClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interface_nestedClassifier_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterface_NestedClassifier(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Interface feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedInterfacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interface_redefinedInterface_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interface_redefinedInterface_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterface_RedefinedInterface(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Reception feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedReceptionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interface_ownedReception_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interface_ownedReception_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterface_OwnedReception(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Protocol feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addProtocolPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interface_protocol_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interface_protocol_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterface_Protocol(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interface_ownedOperation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interface_ownedOperation_feature", "_UI_Interface_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterface_OwnedOperation(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInterface_OwnedAttribute());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInterface_OwnedReception());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getInterface_Protocol());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInterface_OwnedOperation());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Interface.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Interface"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Interface) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Interface_type") : //$NON-NLS-1$
+ getString("_UI_Interface_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Interface.class)) {
+ case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+ case UMLPackage.INTERFACE__NESTED_CLASSIFIER :
+ case UMLPackage.INTERFACE__OWNED_RECEPTION :
+ case UMLPackage.INTERFACE__PROTOCOL :
+ case UMLPackage.INTERFACE__OWNED_OPERATION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_OwnedAttribute(), UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createStereotype()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createUseCase()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createDeploymentSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createDataType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createInterface()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createSignal()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createAssociation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createCollaboration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createExtension()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createEnumeration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createPrimitiveType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createActor()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createInformationItem()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createComponent()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createExecutionEnvironment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createCommunicationPath()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier(), UMLFactory.eINSTANCE
+ .createAssociationClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_OwnedReception(), UMLFactory.eINSTANCE
+ .createReception()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_Protocol(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInterface_OwnedOperation(), UMLFactory.eINSTANCE
+ .createOperation()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInterface_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE.getInterface_Protocol();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceRealizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceRealizationItemProvider.java
new file mode 100644
index 00000000..2533f97a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterfaceRealizationItemProvider.java
@@ -0,0 +1,248 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InterfaceRealizationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InterfaceRealization} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceRealizationItemProvider
+ extends RealizationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceRealizationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addContractPropertyDescriptor(object);
+ addImplementingClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Contract feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContractPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InterfaceRealization_contract_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InterfaceRealization_contract_feature", "_UI_InterfaceRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterfaceRealization_Contract(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Implementing Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImplementingClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InterfaceRealization_implementingClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InterfaceRealization_implementingClassifier_feature", "_UI_InterfaceRealization_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getInterfaceRealization_ImplementingClassifier(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns InterfaceRealization.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/InterfaceRealization"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InterfaceRealization) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InterfaceRealization_type") : //$NON-NLS-1$
+ getString("_UI_InterfaceRealization_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getInterfaceRealization_Contract()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getInterfaceRealization_ImplementingClassifier()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getInterfaceRealization_Contract()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getInterfaceRealization_ImplementingClassifier()}, value,
+ collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE.getInterfaceRealization_Contract()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Supplier()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getInterfaceRealization_ImplementingClassifier()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Client()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterruptibleActivityRegionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterruptibleActivityRegionItemProvider.java
new file mode 100644
index 00000000..5267e511
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InterruptibleActivityRegionItemProvider.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InterruptibleActivityRegionItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InterruptibleActivityRegion} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterruptibleActivityRegionItemProvider
+ extends ActivityGroupItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNodePropertyDescriptor(object);
+ addInterruptingEdgePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InterruptibleActivityRegion_node_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InterruptibleActivityRegion_node_feature", "_UI_InterruptibleActivityRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterruptibleActivityRegion_Node(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Interrupting Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInterruptingEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InterruptibleActivityRegion_interruptingEdge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InterruptibleActivityRegion_interruptingEdge_feature", "_UI_InterruptibleActivityRegion_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getInterruptibleActivityRegion_InterruptingEdge(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns InterruptibleActivityRegion.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/InterruptibleActivityRegion"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_InterruptibleActivityRegion_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalConstraintItemProvider.java
new file mode 100644
index 00000000..71858fbf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalConstraintItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: IntervalConstraintItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.IntervalConstraint;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.IntervalConstraint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntervalConstraintItemProvider
+ extends ConstraintItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntervalConstraintItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns IntervalConstraint.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/IntervalConstraint"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((IntervalConstraint) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_IntervalConstraint_type") : //$NON-NLS-1$
+ getString("_UI_IntervalConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getConstraint_Specification();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalItemProvider.java
new file mode 100644
index 00000000..d4f33acc
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/IntervalItemProvider.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: IntervalItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Interval;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Interval} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntervalItemProvider
+ extends ValueSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntervalItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMinPropertyDescriptor(object);
+ addMaxPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Min feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMinPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interval_min_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interval_min_feature", "_UI_Interval_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterval_Min(), true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Max feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMaxPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Interval_max_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Interval_max_feature", "_UI_Interval_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInterval_Max(), true, null, null, null));
+ }
+
+ /**
+ * This returns Interval.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Interval"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Interval) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Interval_type") : //$NON-NLS-1$
+ getString("_UI_Interval_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InvocationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InvocationActionItemProvider.java
new file mode 100644
index 00000000..92cfa812
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/InvocationActionItemProvider.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: InvocationActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.InvocationAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.InvocationAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvocationActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvocationActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addArgumentPropertyDescriptor(object);
+ addOnPortPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Argument feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addArgumentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InvocationAction_argument_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InvocationAction_argument_feature", "_UI_InvocationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInvocationAction_Argument(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the On Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOnPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InvocationAction_onPort_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_InvocationAction_onPort_feature", "_UI_InvocationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getInvocationAction_OnPort(), true, null,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getInvocationAction_Argument());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((InvocationAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_InvocationAction_type") : //$NON-NLS-1$
+ getString("_UI_InvocationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(InvocationAction.class)) {
+ case UMLPackage.INVOCATION_ACTION__ARGUMENT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInvocationAction_Argument(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInvocationAction_Argument(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getInvocationAction_Argument(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/JoinNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/JoinNodeItemProvider.java
new file mode 100644
index 00000000..a3a9af85
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/JoinNodeItemProvider.java
@@ -0,0 +1,276 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: JoinNodeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.JoinNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.JoinNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class JoinNodeItemProvider
+ extends ControlNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JoinNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsCombineDuplicatePropertyDescriptor(object);
+ addJoinSpecPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Combine Duplicate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsCombineDuplicatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_JoinNode_isCombineDuplicate_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_JoinNode_isCombineDuplicate_feature", "_UI_JoinNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getJoinNode_IsCombineDuplicate(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Join Spec feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addJoinSpecPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_JoinNode_joinSpec_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_JoinNode_joinSpec_feature", "_UI_JoinNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getJoinNode_JoinSpec(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getJoinNode_JoinSpec());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns JoinNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/JoinNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((JoinNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_JoinNode_type") : //$NON-NLS-1$
+ getString("_UI_JoinNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(JoinNode.class)) {
+ case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.JOIN_NODE__JOIN_SPEC :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getJoinNode_JoinSpec(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getJoinNode_JoinSpec();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LifelineItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LifelineItemProvider.java
new file mode 100644
index 00000000..deb224ba
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LifelineItemProvider.java
@@ -0,0 +1,332 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LifelineItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Lifeline} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LifelineItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LifelineItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRepresentsPropertyDescriptor(object);
+ addInteractionPropertyDescriptor(object);
+ addSelectorPropertyDescriptor(object);
+ addDecomposedAsPropertyDescriptor(object);
+ addCoveredByPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Represents feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRepresentsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Lifeline_represents_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Lifeline_represents_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLifeline_Represents(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Interaction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInteractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Lifeline_interaction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Lifeline_interaction_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLifeline_Interaction(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Selector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSelectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Lifeline_selector_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Lifeline_selector_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLifeline_Selector(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Decomposed As feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDecomposedAsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Lifeline_decomposedAs_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Lifeline_decomposedAs_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLifeline_DecomposedAs(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Covered By feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCoveredByPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Lifeline_coveredBy_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Lifeline_coveredBy_feature", "_UI_Lifeline_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLifeline_CoveredBy(), true, null, null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getLifeline_Selector());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Lifeline.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Lifeline"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Lifeline) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Lifeline_type") : //$NON-NLS-1$
+ getString("_UI_Lifeline_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Lifeline.class)) {
+ case UMLPackage.LIFELINE__SELECTOR :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getLifeline_Selector(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getLifeline_Selector();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkActionItemProvider.java
new file mode 100644
index 00000000..0dbd5e75
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkActionItemProvider.java
@@ -0,0 +1,252 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LinkActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LinkAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LinkActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addEndDataPropertyDescriptor(object);
+ addInputValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the End Data feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndDataPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkAction_endData_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkAction_endData_feature", "_UI_LinkAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkAction_EndData(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Input Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInputValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkAction_inputValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkAction_inputValue_feature", "_UI_LinkAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkAction_InputValue(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getLinkAction_EndData());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getLinkAction_InputValue());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LinkAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LinkAction_type") : //$NON-NLS-1$
+ getString("_UI_LinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LinkAction.class)) {
+ case UMLPackage.LINK_ACTION__END_DATA :
+ case UMLPackage.LINK_ACTION__INPUT_VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getLinkAction_EndData(), UMLFactory.eINSTANCE
+ .createLinkEndData()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLinkAction_EndData(), UMLFactory.eINSTANCE
+ .createLinkEndCreationData()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLinkAction_EndData(), UMLFactory.eINSTANCE
+ .createLinkEndDestructionData()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getLinkAction_InputValue(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getLinkAction_InputValue(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLinkAction_InputValue(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndCreationDataItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndCreationDataItemProvider.java
new file mode 100644
index 00000000..1257feaa
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndCreationDataItemProvider.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LinkEndCreationDataItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LinkEndCreationData;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkEndCreationData} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LinkEndCreationDataItemProvider
+ extends LinkEndDataItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndCreationDataItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsReplaceAllPropertyDescriptor(object);
+ addInsertAtPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Replace All feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsReplaceAllPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkEndCreationData_isReplaceAll_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkEndCreationData_isReplaceAll_feature", "_UI_LinkEndCreationData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkEndCreationData_IsReplaceAll(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Insert At feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInsertAtPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkEndCreationData_insertAt_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkEndCreationData_insertAt_feature", "_UI_LinkEndCreationData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkEndCreationData_InsertAt(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns LinkEndCreationData.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/LinkEndCreationData"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ LinkEndCreationData linkEndCreationData = (LinkEndCreationData) object;
+ return getString("_UI_LinkEndCreationData_type") + " " + linkEndCreationData.isReplaceAll(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LinkEndCreationData.class)) {
+ case UMLPackage.LINK_END_CREATION_DATA__IS_REPLACE_ALL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDataItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDataItemProvider.java
new file mode 100644
index 00000000..b26d3201
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDataItemProvider.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LinkEndDataItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LinkEndData;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkEndData} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LinkEndDataItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndDataItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ addEndPropertyDescriptor(object);
+ addQualifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkEndData_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkEndData_value_feature", "_UI_LinkEndData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkEndData_Value(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkEndData_end_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkEndData_end_feature", "_UI_LinkEndData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkEndData_End(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Qualifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQualifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkEndData_qualifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkEndData_qualifier_feature", "_UI_LinkEndData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkEndData_Qualifier(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getLinkEndData_Qualifier());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns LinkEndData.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/LinkEndData"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_LinkEndData_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LinkEndData.class)) {
+ case UMLPackage.LINK_END_DATA__QUALIFIER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLinkEndData_Qualifier(), UMLFactory.eINSTANCE
+ .createQualifierValue()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDestructionDataItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDestructionDataItemProvider.java
new file mode 100644
index 00000000..f8e668aa
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LinkEndDestructionDataItemProvider.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LinkEndDestructionDataItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LinkEndDestructionData;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LinkEndDestructionData} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LinkEndDestructionDataItemProvider
+ extends LinkEndDataItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEndDestructionDataItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsDestroyDuplicatesPropertyDescriptor(object);
+ addDestroyAtPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Destroy Duplicates feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDestroyDuplicatesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkEndDestructionData_isDestroyDuplicates_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkEndDestructionData_isDestroyDuplicates_feature", "_UI_LinkEndDestructionData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getLinkEndDestructionData_IsDestroyDuplicates(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Destroy At feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDestroyAtPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkEndDestructionData_destroyAt_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LinkEndDestructionData_destroyAt_feature", "_UI_LinkEndDestructionData_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLinkEndDestructionData_DestroyAt(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns LinkEndDestructionData.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/LinkEndDestructionData"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ LinkEndDestructionData linkEndDestructionData = (LinkEndDestructionData) object;
+ return getString("_UI_LinkEndDestructionData_type") + " " + linkEndDestructionData.isDestroyDuplicates(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LinkEndDestructionData.class)) {
+ case UMLPackage.LINK_END_DESTRUCTION_DATA__IS_DESTROY_DUPLICATES :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralBooleanItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralBooleanItemProvider.java
new file mode 100644
index 00000000..f444d74e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralBooleanItemProvider.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LiteralBooleanItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralBoolean} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LiteralBooleanItemProvider
+ extends LiteralSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralBooleanItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LiteralBoolean_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LiteralBoolean_value_feature", "_UI_LiteralBoolean_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLiteralBoolean_Value(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns LiteralBoolean.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/LiteralBoolean"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LiteralBoolean) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LiteralBoolean_type") : //$NON-NLS-1$
+ getString("_UI_LiteralBoolean_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LiteralBoolean.class)) {
+ case UMLPackage.LITERAL_BOOLEAN__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralIntegerItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralIntegerItemProvider.java
new file mode 100644
index 00000000..1b6f523b
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralIntegerItemProvider.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LiteralIntegerItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralInteger} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LiteralIntegerItemProvider
+ extends LiteralSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralIntegerItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LiteralInteger_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LiteralInteger_value_feature", "_UI_LiteralInteger_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLiteralInteger_Value(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns LiteralInteger.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/LiteralInteger"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LiteralInteger) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LiteralInteger_type") : //$NON-NLS-1$
+ getString("_UI_LiteralInteger_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LiteralInteger.class)) {
+ case UMLPackage.LITERAL_INTEGER__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralNullItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralNullItemProvider.java
new file mode 100644
index 00000000..587a240b
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralNullItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LiteralNullItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.LiteralNull;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralNull} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LiteralNullItemProvider
+ extends LiteralSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralNullItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns LiteralNull.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/LiteralNull"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LiteralNull) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LiteralNull_type") : //$NON-NLS-1$
+ getString("_UI_LiteralNull_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralSpecificationItemProvider.java
new file mode 100644
index 00000000..5fd12671
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralSpecificationItemProvider.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LiteralSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.LiteralSpecification;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LiteralSpecificationItemProvider
+ extends ValueSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralSpecificationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LiteralSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LiteralSpecification_type") : //$NON-NLS-1$
+ getString("_UI_LiteralSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralStringItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralStringItemProvider.java
new file mode 100644
index 00000000..3f2321b3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralStringItemProvider.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LiteralStringItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralString} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LiteralStringItemProvider
+ extends LiteralSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralStringItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LiteralString_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LiteralString_value_feature", "_UI_LiteralString_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLiteralString_Value(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns LiteralString.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/LiteralString"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LiteralString) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LiteralString_type") : //$NON-NLS-1$
+ getString("_UI_LiteralString_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LiteralString.class)) {
+ case UMLPackage.LITERAL_STRING__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralUnlimitedNaturalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralUnlimitedNaturalItemProvider.java
new file mode 100644
index 00000000..d0bbfc35
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LiteralUnlimitedNaturalItemProvider.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LiteralUnlimitedNaturalItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LiteralUnlimitedNatural} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LiteralUnlimitedNaturalItemProvider
+ extends LiteralSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LiteralUnlimitedNaturalItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LiteralUnlimitedNatural_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LiteralUnlimitedNatural_value_feature", "_UI_LiteralUnlimitedNatural_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLiteralUnlimitedNatural_Value(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns LiteralUnlimitedNatural.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/LiteralUnlimitedNatural"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LiteralUnlimitedNatural) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LiteralUnlimitedNatural_type") : //$NON-NLS-1$
+ getString("_UI_LiteralUnlimitedNatural_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LiteralUnlimitedNatural.class)) {
+ case UMLPackage.LITERAL_UNLIMITED_NATURAL__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LoopNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LoopNodeItemProvider.java
new file mode 100644
index 00000000..e8b911b0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/LoopNodeItemProvider.java
@@ -0,0 +1,411 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: LoopNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.LoopNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.LoopNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopNodeItemProvider
+ extends StructuredActivityNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsTestedFirstPropertyDescriptor(object);
+ addBodyPartPropertyDescriptor(object);
+ addSetupPartPropertyDescriptor(object);
+ addDeciderPropertyDescriptor(object);
+ addTestPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ addLoopVariablePropertyDescriptor(object);
+ addBodyOutputPropertyDescriptor(object);
+ addLoopVariableInputPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Tested First feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsTestedFirstPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_isTestedFirst_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_isTestedFirst_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_IsTestedFirst(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Body Part feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyPartPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_bodyPart_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_bodyPart_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_BodyPart(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Setup Part feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSetupPartPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_setupPart_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_setupPart_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_SetupPart(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Decider feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeciderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_decider_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_decider_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_Decider(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Test feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTestPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_test_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_test_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_Test(), true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_result_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_Result(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Loop Variable feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLoopVariablePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_loopVariable_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_loopVariable_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_LoopVariable(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Body Output feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyOutputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_bodyOutput_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_bodyOutput_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_BodyOutput(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Loop Variable Input feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLoopVariableInputPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LoopNode_loopVariableInput_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_LoopNode_loopVariableInput_feature", "_UI_LoopNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getLoopNode_LoopVariableInput(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getLoopNode_Result());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getLoopNode_LoopVariable());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getLoopNode_LoopVariableInput());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns LoopNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/LoopNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((LoopNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_LoopNode_type") : //$NON-NLS-1$
+ getString("_UI_LoopNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LoopNode.class)) {
+ case UMLPackage.LOOP_NODE__IS_TESTED_FIRST :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.LOOP_NODE__RESULT :
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE :
+ case UMLPackage.LOOP_NODE__LOOP_VARIABLE_INPUT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLoopNode_Result(), UMLFactory.eINSTANCE.createOutputPin()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getLoopNode_LoopVariable(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLoopNode_LoopVariableInput(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLoopNode_LoopVariableInput(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getLoopNode_LoopVariableInput(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node()
+ || childFeature == UMLPackage.eINSTANCE.getLoopNode_Result()
+ || childFeature == UMLPackage.eINSTANCE.getLoopNode_LoopVariable()
+ || childFeature == UMLPackage.eINSTANCE
+ .getLoopNode_LoopVariableInput();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ManifestationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ManifestationItemProvider.java
new file mode 100644
index 00000000..937a3b4f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ManifestationItemProvider.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ManifestationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Manifestation;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Manifestation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ManifestationItemProvider
+ extends AbstractionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ManifestationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addUtilizedElementPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Utilized Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUtilizedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Manifestation_utilizedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Manifestation_utilizedElement_feature", "_UI_Manifestation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getManifestation_UtilizedElement(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns Manifestation.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Manifestation"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Manifestation) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Manifestation_type") : //$NON-NLS-1$
+ getString("_UI_Manifestation_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getManifestation_UtilizedElement()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getManifestation_UtilizedElement()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE.getManifestation_UtilizedElement()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Supplier()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MergeNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MergeNodeItemProvider.java
new file mode 100644
index 00000000..b2aaefcc
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MergeNodeItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: MergeNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.MergeNode;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MergeNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MergeNodeItemProvider
+ extends ControlNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MergeNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns MergeNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/MergeNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((MergeNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_MergeNode_type") : //$NON-NLS-1$
+ getString("_UI_MergeNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEndItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEndItemProvider.java
new file mode 100644
index 00000000..bcf6d97a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEndItemProvider.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: MessageEndItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.MessageEnd;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MessageEnd} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MessageEndItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEndItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMessagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Message feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMessagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MessageEnd_message_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MessageEnd_message_feature", "_UI_MessageEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessageEnd_Message(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((MessageEnd) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_MessageEnd_type") : //$NON-NLS-1$
+ getString("_UI_MessageEnd_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEventItemProvider.java
new file mode 100644
index 00000000..fced9440
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageEventItemProvider.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: MessageEventItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.MessageEvent;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MessageEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MessageEventItemProvider
+ extends EventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((MessageEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_MessageEvent_type") : //$NON-NLS-1$
+ getString("_UI_MessageEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageItemProvider.java
new file mode 100644
index 00000000..590c8b6d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageItemProvider.java
@@ -0,0 +1,402 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: MessageItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Message} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MessageItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMessageKindPropertyDescriptor(object);
+ addMessageSortPropertyDescriptor(object);
+ addReceiveEventPropertyDescriptor(object);
+ addSendEventPropertyDescriptor(object);
+ addConnectorPropertyDescriptor(object);
+ addInteractionPropertyDescriptor(object);
+ addArgumentPropertyDescriptor(object);
+ addSignaturePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Message Kind feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMessageKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_messageKind_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_messageKind_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_MessageKind(), false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Message Sort feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMessageSortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_messageSort_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_messageSort_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_MessageSort(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Receive Event feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReceiveEventPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_receiveEvent_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_receiveEvent_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_ReceiveEvent(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Send Event feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSendEventPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_sendEvent_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_sendEvent_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_SendEvent(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Connector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConnectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_connector_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_connector_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_Connector(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Interaction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInteractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_interaction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_interaction_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_Interaction(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Argument feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addArgumentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_argument_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_argument_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_Argument(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Message_signature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Message_signature_feature", "_UI_Message_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessage_Signature(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getMessage_Argument());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Message.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Message"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Message) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Message_type") : //$NON-NLS-1$
+ getString("_UI_Message_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Message.class)) {
+ case UMLPackage.MESSAGE__MESSAGE_KIND :
+ case UMLPackage.MESSAGE__MESSAGE_SORT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.MESSAGE__ARGUMENT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMessage_Argument(), UMLFactory.eINSTANCE.createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getMessage_Argument();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageOccurrenceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageOccurrenceSpecificationItemProvider.java
new file mode 100644
index 00000000..e8e8370c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MessageOccurrenceSpecificationItemProvider.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: MessageOccurrenceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MessageOccurrenceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MessageOccurrenceSpecificationItemProvider
+ extends OccurrenceSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageOccurrenceSpecificationItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMessagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Message feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMessagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MessageEnd_message_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MessageEnd_message_feature", "_UI_MessageEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMessageEnd_Message(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns MessageOccurrenceSpecification.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/MessageOccurrenceSpecification"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((MessageOccurrenceSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_MessageOccurrenceSpecification_type") : //$NON-NLS-1$
+ getString("_UI_MessageOccurrenceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ModelItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ModelItemProvider.java
new file mode 100644
index 00000000..901a4dcf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ModelItemProvider.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ModelItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Model} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelItemProvider
+ extends PackageItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addViewpointPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Viewpoint feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addViewpointPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Model_viewpoint_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Model_viewpoint_feature", "_UI_Model_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getModel_Viewpoint(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Model.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Model"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Model) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Model_type") : //$NON-NLS-1$
+ getString("_UI_Model_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Model.class)) {
+ case UMLPackage.MODEL__VIEWPOINT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getPackage_PackagedElement()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MultiplicityElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MultiplicityElementItemProvider.java
new file mode 100644
index 00000000..b9032911
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/MultiplicityElementItemProvider.java
@@ -0,0 +1,430 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: MultiplicityElementItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.MultiplicityElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MultiplicityElementItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiplicityElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsOrderedPropertyDescriptor(object);
+ addIsUniquePropertyDescriptor(object);
+ addUpperPropertyDescriptor(object);
+ addLowerPropertyDescriptor(object);
+ addUpperValuePropertyDescriptor(object);
+ addLowerValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Ordered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsOrderedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Unique feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsUniquePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ MultiplicityElement multiplicityElement = (MultiplicityElement) object;
+ return getString("_UI_MultiplicityElement_type") + " " + multiplicityElement.isOrdered(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(MultiplicityElement.class)) {
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_ORDERED :
+ case UMLPackage.MULTIPLICITY_ELEMENT__IS_UNIQUE :
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER :
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.MULTIPLICITY_ELEMENT__UPPER_VALUE :
+ case UMLPackage.MULTIPLICITY_ELEMENT__LOWER_VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamedElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamedElementItemProvider.java
new file mode 100644
index 00000000..0a562eec
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamedElementItemProvider.java
@@ -0,0 +1,279 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: NamedElementItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.NamedElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NamedElementItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addVisibilityPropertyDescriptor(object);
+ addQualifiedNamePropertyDescriptor(object);
+ addClientDependencyPropertyDescriptor(object);
+ addNamespacePropertyDescriptor(object);
+ addNameExpressionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NamedElement_name_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamedElement_Name(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Visibility feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVisibilityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NamedElement_visibility_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_NamedElement_visibility_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamedElement_Visibility(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Qualified Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQualifiedNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NamedElement_qualifiedName_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_NamedElement_qualifiedName_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamedElement_QualifiedName(), false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Client Dependency feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClientDependencyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NamedElement_clientDependency_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_NamedElement_clientDependency_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamedElement_ClientDependency(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Namespace feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamespacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NamedElement_namespace_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_NamedElement_namespace_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamedElement_Namespace(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Name Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNameExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NamedElement_nameExpression_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_NamedElement_nameExpression_feature", "_UI_NamedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamedElement_NameExpression(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((NamedElement) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_NamedElement_type") : //$NON-NLS-1$
+ getString("_UI_NamedElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(NamedElement.class)) {
+ case UMLPackage.NAMED_ELEMENT__NAME :
+ case UMLPackage.NAMED_ELEMENT__VISIBILITY :
+ case UMLPackage.NAMED_ELEMENT__QUALIFIED_NAME :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.NAMED_ELEMENT__NAME_EXPRESSION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamespaceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamespaceItemProvider.java
new file mode 100644
index 00000000..cb49a6fe
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NamespaceItemProvider.java
@@ -0,0 +1,322 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: NamespaceItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Namespace} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NamespaceItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamespaceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addElementImportPropertyDescriptor(object);
+ addPackageImportPropertyDescriptor(object);
+ addOwnedRulePropertyDescriptor(object);
+ addMemberPropertyDescriptor(object);
+ addImportedMemberPropertyDescriptor(object);
+ addOwnedMemberPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Element Import feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addElementImportPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_elementImport_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_elementImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_ElementImport(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Package Import feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPackageImportPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_packageImport_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_packageImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_PackageImport(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Rule feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedRulePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_ownedRule_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedRule_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_OwnedRule(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_member_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_member_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_Member(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Imported Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImportedMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_importedMember_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_importedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_ImportedMember(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_ownedMember_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_OwnedMember(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getNamespace_ElementImport());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getNamespace_PackageImport());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getNamespace_OwnedRule());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Namespace) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Namespace_type") : //$NON-NLS-1$
+ getString("_UI_Namespace_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Namespace.class)) {
+ case UMLPackage.NAMESPACE__ELEMENT_IMPORT :
+ case UMLPackage.NAMESPACE__PACKAGE_IMPORT :
+ case UMLPackage.NAMESPACE__OWNED_RULE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_ElementImport(), UMLFactory.eINSTANCE
+ .createElementImport()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_PackageImport(), UMLFactory.eINSTANCE
+ .createPackageImport()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_PackageImport(), UMLFactory.eINSTANCE
+ .createProfileApplication()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NodeItemProvider.java
new file mode 100644
index 00000000..b6a88f8c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/NodeItemProvider.java
@@ -0,0 +1,351 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: NodeItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Node} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NodeItemProvider
+ extends ClassItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDeploymentPropertyDescriptor(object);
+ addDeployedElementPropertyDescriptor(object);
+ addNestedNodePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Deployment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeploymentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentTarget_deployment_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployment_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeploymentTarget_Deployment(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Deployed Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeployedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentTarget_deployedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployedElement_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeploymentTarget_DeployedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Nested Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNestedNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Node_nestedNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Node_nestedNode_feature", "_UI_Node_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNode_NestedNode(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getNode_NestedNode());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Node.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Node"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Node) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Node_type") : //$NON-NLS-1$
+ getString("_UI_Node_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Node.class)) {
+ case UMLPackage.NODE__DEPLOYMENT :
+ case UMLPackage.NODE__NESTED_NODE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment(), UMLFactory.eINSTANCE
+ .createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNode_NestedNode(), UMLFactory.eINSTANCE.createNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNode_NestedNode(), UMLFactory.eINSTANCE.createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNode_NestedNode(), UMLFactory.eINSTANCE
+ .createExecutionEnvironment()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior()
+ || childFeature == UMLPackage.eINSTANCE.getNode_NestedNode();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization(),
+ UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getClassifier_Substitution(),
+ UMLPackage.eINSTANCE
+ .getBehavioredClassifier_InterfaceRealization(),
+ UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()},
+ value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectFlowItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectFlowItemProvider.java
new file mode 100644
index 00000000..22f2ea55
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectFlowItemProvider.java
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ObjectFlowItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ObjectFlow;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ObjectFlow} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ObjectFlowItemProvider
+ extends ActivityEdgeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectFlowItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsMulticastPropertyDescriptor(object);
+ addIsMultireceivePropertyDescriptor(object);
+ addTransformationPropertyDescriptor(object);
+ addSelectionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Multicast feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsMulticastPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectFlow_isMulticast_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_isMulticast_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectFlow_IsMulticast(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Multireceive feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsMultireceivePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectFlow_isMultireceive_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_isMultireceive_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectFlow_IsMultireceive(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Transformation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTransformationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectFlow_transformation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_transformation_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectFlow_Transformation(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Selection feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSelectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectFlow_selection_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectFlow_selection_feature", "_UI_ObjectFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectFlow_Selection(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns ObjectFlow.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ObjectFlow"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ObjectFlow) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ObjectFlow_type") : //$NON-NLS-1$
+ getString("_UI_ObjectFlow_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ObjectFlow.class)) {
+ case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
+ case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Guard()
+ || childFeature == UMLPackage.eINSTANCE.getActivityEdge_Weight();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectNodeItemProvider.java
new file mode 100644
index 00000000..c4dc4126
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ObjectNodeItemProvider.java
@@ -0,0 +1,351 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ObjectNodeItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ObjectNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ObjectNodeItemProvider
+ extends ActivityNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTypePropertyDescriptor(object);
+ addOrderingPropertyDescriptor(object);
+ addIsControlTypePropertyDescriptor(object);
+ addUpperBoundPropertyDescriptor(object);
+ addInStatePropertyDescriptor(object);
+ addSelectionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Ordering feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOrderingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectNode_ordering_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectNode_ordering_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectNode_Ordering(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Control Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsControlTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectNode_isControlType_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectNode_isControlType_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectNode_IsControlType(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper Bound feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperBoundPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectNode_upperBound_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectNode_upperBound_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectNode_UpperBound(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the In State feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInStatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectNode_inState_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectNode_inState_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectNode_InState(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Selection feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSelectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ObjectNode_selection_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ObjectNode_selection_feature", "_UI_ObjectNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getObjectNode_Selection(), true, null,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ObjectNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ObjectNode_type") : //$NON-NLS-1$
+ getString("_UI_ObjectNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ObjectNode.class)) {
+ case UMLPackage.OBJECT_NODE__ORDERING :
+ case UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.OBJECT_NODE__UPPER_BOUND :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getObjectNode_UpperBound(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OccurrenceSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OccurrenceSpecificationItemProvider.java
new file mode 100644
index 00000000..fb9eb105
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OccurrenceSpecificationItemProvider.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: OccurrenceSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.OccurrenceSpecification;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OccurrenceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OccurrenceSpecificationItemProvider
+ extends InteractionFragmentItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OccurrenceSpecificationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addToBeforePropertyDescriptor(object);
+ addEventPropertyDescriptor(object);
+ addToAfterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the To Before feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addToBeforePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OccurrenceSpecification_toBefore_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OccurrenceSpecification_toBefore_feature", "_UI_OccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOccurrenceSpecification_ToBefore(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Event feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEventPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OccurrenceSpecification_event_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OccurrenceSpecification_event_feature", "_UI_OccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOccurrenceSpecification_Event(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the To After feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addToAfterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OccurrenceSpecification_toAfter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OccurrenceSpecification_toAfter_feature", "_UI_OccurrenceSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOccurrenceSpecification_ToAfter(),
+ true, null, null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((OccurrenceSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_OccurrenceSpecification_type") : //$NON-NLS-1$
+ getString("_UI_OccurrenceSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueActionItemProvider.java
new file mode 100644
index 00000000..8ec89e9e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueActionItemProvider.java
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: OpaqueActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OpaqueAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpaqueActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBodyPropertyDescriptor(object);
+ addLanguagePropertyDescriptor(object);
+ addInputValuePropertyDescriptor(object);
+ addOutputValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Body feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueAction_body_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_body_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueAction_Body(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Language feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLanguagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueAction_language_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_language_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueAction_Language(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Input Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInputValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueAction_inputValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_inputValue_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueAction_InputValue(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Output Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOutputValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueAction_outputValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueAction_outputValue_feature", "_UI_OpaqueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueAction_OutputValue(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns OpaqueAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/OpaqueAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((OpaqueAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_OpaqueAction_type") : //$NON-NLS-1$
+ getString("_UI_OpaqueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(OpaqueAction.class)) {
+ case UMLPackage.OPAQUE_ACTION__BODY :
+ case UMLPackage.OPAQUE_ACTION__LANGUAGE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueBehaviorItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueBehaviorItemProvider.java
new file mode 100644
index 00000000..90fccd80
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueBehaviorItemProvider.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: OpaqueBehaviorItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OpaqueBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpaqueBehaviorItemProvider
+ extends BehaviorItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueBehaviorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBodyPropertyDescriptor(object);
+ addLanguagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Body feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueBehavior_body_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueBehavior_body_feature", "_UI_OpaqueBehavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueBehavior_Body(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Language feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLanguagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueBehavior_language_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueBehavior_language_feature", "_UI_OpaqueBehavior_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueBehavior_Language(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns OpaqueBehavior.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/OpaqueBehavior"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((OpaqueBehavior) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_OpaqueBehavior_type") : //$NON-NLS-1$
+ getString("_UI_OpaqueBehavior_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(OpaqueBehavior.class)) {
+ case UMLPackage.OPAQUE_BEHAVIOR__BODY :
+ case UMLPackage.OPAQUE_BEHAVIOR__LANGUAGE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueExpressionItemProvider.java
new file mode 100644
index 00000000..25a6cb27
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OpaqueExpressionItemProvider.java
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: OpaqueExpressionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OpaqueExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpaqueExpressionItemProvider
+ extends ValueSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueExpressionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBodyPropertyDescriptor(object);
+ addLanguagePropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ addBehaviorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Body feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueExpression_body_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_body_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueExpression_Body(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Language feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLanguagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueExpression_language_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_language_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueExpression_Language(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueExpression_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_result_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueExpression_Result(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OpaqueExpression_behavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_OpaqueExpression_behavior_feature", "_UI_OpaqueExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOpaqueExpression_Behavior(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns OpaqueExpression.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/OpaqueExpression"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((OpaqueExpression) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_OpaqueExpression_type") : //$NON-NLS-1$
+ getString("_UI_OpaqueExpression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(OpaqueExpression.class)) {
+ case UMLPackage.OPAQUE_EXPRESSION__BODY :
+ case UMLPackage.OPAQUE_EXPRESSION__LANGUAGE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationItemProvider.java
new file mode 100644
index 00000000..6ece86fe
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationItemProvider.java
@@ -0,0 +1,656 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: OperationItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Operation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OperationItemProvider
+ extends BehavioralFeatureItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ addTemplateBindingPropertyDescriptor(object);
+ addOwnedTemplateSignaturePropertyDescriptor(object);
+ addIsQueryPropertyDescriptor(object);
+ addIsOrderedPropertyDescriptor(object);
+ addIsUniquePropertyDescriptor(object);
+ addLowerPropertyDescriptor(object);
+ addUpperPropertyDescriptor(object);
+ addClass_PropertyDescriptor(object);
+ addPreconditionPropertyDescriptor(object);
+ addPostconditionPropertyDescriptor(object);
+ addRedefinedOperationPropertyDescriptor(object);
+ addDatatypePropertyDescriptor(object);
+ addBodyConditionPropertyDescriptor(object);
+ addTypePropertyDescriptor(object);
+ addInterfacePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Template Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Template Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Query feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsQueryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_isQuery_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_isQuery_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_IsQuery(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Ordered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsOrderedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_isOrdered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_isOrdered_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_IsOrdered(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Unique feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsUniquePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_isUnique_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_isUnique_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_IsUnique(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_lower_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_lower_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Lower(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_upper_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_upper_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Upper(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Class feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClass_PropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_class__feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_class__feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Class_(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Precondition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPreconditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_precondition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_precondition_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Precondition(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Postcondition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPostconditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_postcondition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_postcondition_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Postcondition(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_redefinedOperation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_redefinedOperation_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_RedefinedOperation(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Datatype feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDatatypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_datatype_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_datatype_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Datatype(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Body Condition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBodyConditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_bodyCondition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_bodyCondition_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_BodyCondition(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_type_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_type_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Type(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Interface feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInterfacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Operation_interface_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Operation_interface_feature", "_UI_Operation_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getOperation_Interface(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Operation.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Operation"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Operation) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Operation_type") : //$NON-NLS-1$
+ getString("_UI_Operation_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Operation.class)) {
+ case UMLPackage.OPERATION__IS_QUERY :
+ case UMLPackage.OPERATION__IS_ORDERED :
+ case UMLPackage.OPERATION__IS_UNIQUE :
+ case UMLPackage.OPERATION__LOWER :
+ case UMLPackage.OPERATION__UPPER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.OPERATION__TEMPLATE_BINDING :
+ case UMLPackage.OPERATION__OWNED_TEMPLATE_SIGNATURE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE
+ .createTemplateBinding()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createRedefinableTemplateSignature()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getOperation_Precondition()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()}, collection, index);
+ }
+ if (feature == UMLPackage.eINSTANCE.getOperation_Postcondition()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getOperation_Precondition(),
+ UMLPackage.eINSTANCE.getOperation_Postcondition(),
+ UMLPackage.eINSTANCE.getOperation_BodyCondition()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getOperation_Precondition()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getOperation_Postcondition()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getOperation_Precondition(),
+ UMLPackage.eINSTANCE.getOperation_Postcondition(),
+ UMLPackage.eINSTANCE.getOperation_BodyCondition()}, value,
+ collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getOperation_BodyCondition()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationTemplateParameterItemProvider.java
new file mode 100644
index 00000000..df1ca907
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OperationTemplateParameterItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: OperationTemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OperationTemplateParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OperationTemplateParameterItemProvider
+ extends TemplateParameterItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationTemplateParameterItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns OperationTemplateParameter.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/OperationTemplateParameter"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_OperationTemplateParameter_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement()
+ || childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OutputPinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OutputPinItemProvider.java
new file mode 100644
index 00000000..5579f7b9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/OutputPinItemProvider.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: OutputPinItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.OutputPin} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OutputPinItemProvider
+ extends PinItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPinItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns OutputPin.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/OutputPin"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((OutputPin) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_OutputPin_type") : //$NON-NLS-1$
+ getString("_UI_OutputPin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageImportItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageImportItemProvider.java
new file mode 100644
index 00000000..fd65e76a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageImportItemProvider.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PackageImportItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PackageImport} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PackageImportItemProvider
+ extends DirectedRelationshipItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImportItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addVisibilityPropertyDescriptor(object);
+ addImportedPackagePropertyDescriptor(object);
+ addImportingNamespacePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Visibility feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVisibilityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PackageImport_visibility_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_PackageImport_visibility_feature", "_UI_PackageImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackageImport_Visibility(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Imported Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImportedPackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PackageImport_importedPackage_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_PackageImport_importedPackage_feature", "_UI_PackageImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackageImport_ImportedPackage(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Importing Namespace feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImportingNamespacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PackageImport_importingNamespace_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_PackageImport_importingNamespace_feature", "_UI_PackageImport_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackageImport_ImportingNamespace(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns PackageImport.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/PackageImport"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ VisibilityKind labelValue = ((PackageImport) object).getVisibility();
+ String label = labelValue == null
+ ? null
+ : labelValue.toString();
+ return label == null || label.length() == 0
+ ? getString("_UI_PackageImport_type") : //$NON-NLS-1$
+ getString("_UI_PackageImport_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(PackageImport.class)) {
+ case UMLPackage.PACKAGE_IMPORT__VISIBILITY :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageItemProvider.java
new file mode 100644
index 00000000..c10030e2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageItemProvider.java
@@ -0,0 +1,812 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PackageItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Package} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PackageItemProvider
+ extends NamespaceItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ addTemplateBindingPropertyDescriptor(object);
+ addOwnedTemplateSignaturePropertyDescriptor(object);
+ addPackageMergePropertyDescriptor(object);
+ addPackagedElementPropertyDescriptor(object);
+ addOwnedTypePropertyDescriptor(object);
+ addNestedPackagePropertyDescriptor(object);
+ addNestingPackagePropertyDescriptor(object);
+ addAppliedProfilePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Template Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Template Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Package Merge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPackageMergePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Package_packageMerge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Package_packageMerge_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackage_PackageMerge(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Packaged Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPackagedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Package_packagedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Package_packagedElement_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackage_PackagedElement(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Package_ownedType_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Package_ownedType_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackage_OwnedType(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Nested Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNestedPackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Package_nestedPackage_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Package_nestedPackage_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackage_NestedPackage(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Nesting Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNestingPackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Package_nestingPackage_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Package_nestingPackage_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackage_NestingPackage(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Applied Profile feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAppliedProfilePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Package_appliedProfile_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Package_appliedProfile_feature", "_UI_Package_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackage_AppliedProfile(), true, null,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature());
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getPackage_PackageMerge());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Package.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Package"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((org.eclipse.uml2.uml.Package) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Package_type") : //$NON-NLS-1$
+ getString("_UI_Package_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(org.eclipse.uml2.uml.Package.class)) {
+ case UMLPackage.PACKAGE__TEMPLATE_BINDING :
+ case UMLPackage.PACKAGE__OWNED_TEMPLATE_SIGNATURE :
+ case UMLPackage.PACKAGE__PACKAGE_MERGE :
+ case UMLPackage.PACKAGE__PACKAGED_ELEMENT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE
+ .createTemplateBinding()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createRedefinableTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackageMerge(), UMLFactory.eINSTANCE
+ .createPackageMerge()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDependency()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createPackage()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createProfile()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createStereotype()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createGeneralizationSet()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createUseCase()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createAbstraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createSubstitution()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDeploymentSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createManifestation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDataType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInterface()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createSignal()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createAssociation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createCollaboration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createExtension()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInstanceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createEnumeration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createEnumerationLiteral()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createPrimitiveType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createActor()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createUsage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createExecutionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createCreationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDestructionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createSendOperationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createSendSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createCallEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createChangeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createAnyReceiveEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInformationItem()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createInformationFlow()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createModel()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createComponentRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createComponent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE.createNode()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createExecutionEnvironment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createCommunicationPath()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createTimeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getPackage_PackagedElement(), UMLFactory.eINSTANCE
+ .createAssociationClass()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getPackage_PackagedElement()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getPackage_AppliedProfile()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_PackageImport()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getPackage_AppliedProfile()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getPackage_AppliedProfile()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_PackageImport()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getPackage_AppliedProfile()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageMergeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageMergeItemProvider.java
new file mode 100644
index 00000000..68bd6257
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageMergeItemProvider.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PackageMergeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PackageMerge} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PackageMergeItemProvider
+ extends DirectedRelationshipItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageMergeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMergedPackagePropertyDescriptor(object);
+ addReceivingPackagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Merged Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMergedPackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PackageMerge_mergedPackage_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_PackageMerge_mergedPackage_feature", "_UI_PackageMerge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackageMerge_MergedPackage(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Receiving Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReceivingPackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PackageMerge_receivingPackage_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_PackageMerge_receivingPackage_feature", "_UI_PackageMerge_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPackageMerge_ReceivingPackage(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns PackageMerge.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/PackageMerge"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_PackageMerge_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageableElementItemProvider.java
new file mode 100644
index 00000000..05da22e1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PackageableElementItemProvider.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PackageableElementItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PackageableElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PackageableElementItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((PackageableElement) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_PackageableElement_type") : //$NON-NLS-1$
+ getString("_UI_PackageableElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterItemProvider.java
new file mode 100644
index 00000000..bfc7f39c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterItemProvider.java
@@ -0,0 +1,674 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ParameterItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Parameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterItemProvider
+ extends ConnectableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsOrderedPropertyDescriptor(object);
+ addIsUniquePropertyDescriptor(object);
+ addUpperPropertyDescriptor(object);
+ addLowerPropertyDescriptor(object);
+ addUpperValuePropertyDescriptor(object);
+ addLowerValuePropertyDescriptor(object);
+ addParameterSetPropertyDescriptor(object);
+ addOperationPropertyDescriptor(object);
+ addDirectionPropertyDescriptor(object);
+ addDefaultPropertyDescriptor(object);
+ addDefaultValuePropertyDescriptor(object);
+ addIsExceptionPropertyDescriptor(object);
+ addIsStreamPropertyDescriptor(object);
+ addEffectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Ordered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsOrderedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Unique feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsUniquePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Parameter Set feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameterSetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_parameterSet_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_parameterSet_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_ParameterSet(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_operation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_operation_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_Operation(), false, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Direction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDirectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_direction_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_direction_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_Direction(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Default feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefaultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_default_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_default_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_Default(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Default Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefaultValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_defaultValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_defaultValue_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_DefaultValue(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Exception feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsExceptionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_isException_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_isException_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_IsException(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Stream feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsStreamPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_isStream_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_isStream_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_IsStream(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Effect feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEffectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Parameter_effect_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Parameter_effect_feature", "_UI_Parameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameter_Effect(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Parameter.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Parameter"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Parameter) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Parameter_type") : //$NON-NLS-1$
+ getString("_UI_Parameter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Parameter.class)) {
+ case UMLPackage.PARAMETER__IS_ORDERED :
+ case UMLPackage.PARAMETER__IS_UNIQUE :
+ case UMLPackage.PARAMETER__UPPER :
+ case UMLPackage.PARAMETER__LOWER :
+ case UMLPackage.PARAMETER__DIRECTION :
+ case UMLPackage.PARAMETER__DEFAULT :
+ case UMLPackage.PARAMETER__IS_EXCEPTION :
+ case UMLPackage.PARAMETER__IS_STREAM :
+ case UMLPackage.PARAMETER__EFFECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.PARAMETER__UPPER_VALUE :
+ case UMLPackage.PARAMETER__LOWER_VALUE :
+ case UMLPackage.PARAMETER__DEFAULT_VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameter_DefaultValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue()
+ || childFeature == UMLPackage.eINSTANCE.getParameter_DefaultValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterSetItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterSetItemProvider.java
new file mode 100644
index 00000000..932051a5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterSetItemProvider.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ParameterSetItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ParameterSet} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterSetItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSetItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addParameterPropertyDescriptor(object);
+ addConditionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterSet_parameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterSet_parameter_feature", "_UI_ParameterSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameterSet_Parameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Condition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterSet_condition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterSet_condition_feature", "_UI_ParameterSet_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getParameterSet_Condition(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getParameterSet_Condition());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ParameterSet.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ParameterSet"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ParameterSet) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ParameterSet_type") : //$NON-NLS-1$
+ getString("_UI_ParameterSet_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ParameterSet.class)) {
+ case UMLPackage.PARAMETER_SET__CONDITION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameterSet_Condition(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameterSet_Condition(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameterSet_Condition(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameterSet_Condition(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getParameterSet_Condition(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterableElementItemProvider.java
new file mode 100644
index 00000000..e055148a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ParameterableElementItemProvider.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ParameterableElementItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ParameterableElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterableElementItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterableElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_ParameterableElement_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PartDecompositionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PartDecompositionItemProvider.java
new file mode 100644
index 00000000..36f0e72a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PartDecompositionItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PartDecompositionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.PartDecomposition;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PartDecomposition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PartDecompositionItemProvider
+ extends InteractionUseItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartDecompositionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns PartDecomposition.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/PartDecomposition"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((PartDecomposition) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_PartDecomposition_type") : //$NON-NLS-1$
+ getString("_UI_PartDecomposition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PinItemProvider.java
new file mode 100644
index 00000000..94111e78
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PinItemProvider.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PinItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Pin;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Pin} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PinItemProvider
+ extends ObjectNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PinItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsControlPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Control feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsControlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Pin_isControl_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Pin_isControl_feature", "_UI_Pin_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPin_IsControl(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Pin.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Pin"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Pin) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Pin_type") : //$NON-NLS-1$
+ getString("_UI_Pin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Pin.class)) {
+ case UMLPackage.PIN__IS_CONTROL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PortItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PortItemProvider.java
new file mode 100644
index 00000000..554769f5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PortItemProvider.java
@@ -0,0 +1,285 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PortItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Port} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PortItemProvider
+ extends PropertyItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PortItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsBehaviorPropertyDescriptor(object);
+ addIsServicePropertyDescriptor(object);
+ addRequiredPropertyDescriptor(object);
+ addRedefinedPortPropertyDescriptor(object);
+ addProvidedPropertyDescriptor(object);
+ addProtocolPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsBehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Port_isBehavior_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Port_isBehavior_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPort_IsBehavior(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Service feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsServicePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Port_isService_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Port_isService_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPort_IsService(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Required feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRequiredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Port_required_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Port_required_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPort_Required(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Port_redefinedPort_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Port_redefinedPort_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPort_RedefinedPort(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Provided feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addProvidedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Port_provided_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Port_provided_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPort_Provided(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Protocol feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addProtocolPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Port_protocol_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Port_protocol_feature", "_UI_Port_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPort_Protocol(), true, null, null, null));
+ }
+
+ /**
+ * This returns Port.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Port"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Port) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Port_type") : //$NON-NLS-1$
+ getString("_UI_Port_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Port.class)) {
+ case UMLPackage.PORT__IS_BEHAVIOR :
+ case UMLPackage.PORT__IS_SERVICE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue()
+ || childFeature == UMLPackage.eINSTANCE.getProperty_DefaultValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PrimitiveTypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PrimitiveTypeItemProvider.java
new file mode 100644
index 00000000..3fa438c5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PrimitiveTypeItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PrimitiveTypeItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.PrimitiveType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PrimitiveTypeItemProvider
+ extends DataTypeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimitiveTypeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns PrimitiveType.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/PrimitiveType"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((PrimitiveType) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_PrimitiveType_type") : //$NON-NLS-1$
+ getString("_UI_PrimitiveType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileApplicationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileApplicationItemProvider.java
new file mode 100644
index 00000000..f1b67e28
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileApplicationItemProvider.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ProfileApplicationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProfileApplication} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProfileApplicationItemProvider
+ extends PackageImportItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileApplicationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addImportedProfilePropertyDescriptor(object);
+ addIsStrictPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Imported Profile feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImportedProfilePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProfileApplication_importedProfile_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProfileApplication_importedProfile_feature", "_UI_ProfileApplication_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProfileApplication_ImportedProfile(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Strict feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsStrictPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProfileApplication_isStrict_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProfileApplication_isStrict_feature", "_UI_ProfileApplication_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProfileApplication_IsStrict(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns ProfileApplication.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ProfileApplication"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ VisibilityKind labelValue = ((ProfileApplication) object)
+ .getVisibility();
+ String label = labelValue == null
+ ? null
+ : labelValue.toString();
+ return label == null || label.length() == 0
+ ? getString("_UI_ProfileApplication_type") : //$NON-NLS-1$
+ getString("_UI_ProfileApplication_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ProfileApplication.class)) {
+ case UMLPackage.PROFILE_APPLICATION__IS_STRICT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getProfileApplication_ImportedProfile()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getPackageImport_ImportedPackage()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getPackageImport_ImportedPackage()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProfileApplication_ImportedProfile()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileItemProvider.java
new file mode 100644
index 00000000..b56b1bb9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProfileItemProvider.java
@@ -0,0 +1,323 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ProfileItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Profile} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProfileItemProvider
+ extends PackageItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedStereotypePropertyDescriptor(object);
+ addMetaclassReferencePropertyDescriptor(object);
+ addMetamodelReferencePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Stereotype feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedStereotypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Profile_ownedStereotype_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Profile_ownedStereotype_feature", "_UI_Profile_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProfile_OwnedStereotype(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Metaclass Reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMetaclassReferencePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Profile_metaclassReference_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Profile_metaclassReference_feature", "_UI_Profile_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProfile_MetaclassReference(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Metamodel Reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMetamodelReferencePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Profile_metamodelReference_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Profile_metamodelReference_feature", "_UI_Profile_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProfile_MetamodelReference(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns Profile.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Profile"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Profile) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Profile_type") : //$NON-NLS-1$
+ getString("_UI_Profile_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getPackage_PackagedElement()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getProfile_OwnedStereotype()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getPackage_PackagedElement()}, collection, index);
+ }
+ if (feature == UMLPackage.eINSTANCE.getProfile_MetaclassReference()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_ElementImport()}, collection, index);
+ }
+ if (feature == UMLPackage.eINSTANCE.getProfile_MetamodelReference()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_PackageImport()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getPackage_PackagedElement()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProfile_OwnedStereotype()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamespace_ElementImport()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProfile_MetaclassReference()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getPackage_AppliedProfile(),
+ UMLPackage.eINSTANCE.getProfile_MetamodelReference()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getProfile_OwnedStereotype()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getPackage_PackagedElement()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getProfile_MetaclassReference()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_ElementImport()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getProfile_MetamodelReference()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamespace_PackageImport()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getPackage_PackagedElement()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProfile_OwnedStereotype()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamespace_ElementImport()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProfile_MetaclassReference()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamespace_PackageImport()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{
+ UMLPackage.eINSTANCE.getPackage_AppliedProfile(),
+ UMLPackage.eINSTANCE.getProfile_MetamodelReference()},
+ value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PropertyItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PropertyItemProvider.java
new file mode 100644
index 00000000..37295cd2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PropertyItemProvider.java
@@ -0,0 +1,857 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PropertyItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Property} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PropertyItemProvider
+ extends StructuralFeatureItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateParameterPropertyDescriptor(object);
+ addOwningTemplateParameterPropertyDescriptor(object);
+ addEndPropertyDescriptor(object);
+ addDeploymentPropertyDescriptor(object);
+ addDeployedElementPropertyDescriptor(object);
+ addTemplateBindingPropertyDescriptor(object);
+ addOwnedTemplateSignaturePropertyDescriptor(object);
+ addDatatypePropertyDescriptor(object);
+ addIsDerivedPropertyDescriptor(object);
+ addIsDerivedUnionPropertyDescriptor(object);
+ addDefaultPropertyDescriptor(object);
+ addAggregationPropertyDescriptor(object);
+ addIsCompositePropertyDescriptor(object);
+ addClass_PropertyDescriptor(object);
+ addRedefinedPropertyPropertyDescriptor(object);
+ addOwningAssociationPropertyDescriptor(object);
+ addAssociationPropertyDescriptor(object);
+ addDefaultValuePropertyDescriptor(object);
+ addOppositePropertyDescriptor(object);
+ addSubsettedPropertyPropertyDescriptor(object);
+ addQualifierPropertyDescriptor(object);
+ addAssociationEndPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_templateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_templateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Template Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningTemplateParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParameterableElement_owningTemplateParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ParameterableElement_owningTemplateParameter_feature", "_UI_ParameterableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectableElement_end_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ConnectableElement_end_feature", "_UI_ConnectableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getConnectableElement_End(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Deployment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeploymentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentTarget_deployment_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployment_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeploymentTarget_Deployment(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Deployed Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeployedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DeploymentTarget_deployedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_DeploymentTarget_deployedElement_feature", "_UI_DeploymentTarget_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getDeploymentTarget_DeployedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Template Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Template Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Datatype feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDatatypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_datatype_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_datatype_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_Datatype(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Derived feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDerivedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_isDerived_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_isDerived_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_IsDerived(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Derived Union feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDerivedUnionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_isDerivedUnion_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_isDerivedUnion_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_IsDerivedUnion(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Default feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefaultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_default_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_default_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_Default(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Aggregation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAggregationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_aggregation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_aggregation_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_Aggregation(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Composite feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsCompositePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_isComposite_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_isComposite_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_IsComposite(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Class feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClass_PropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_class__feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_class__feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_Class_(), false, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedPropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_redefinedProperty_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_redefinedProperty_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_RedefinedProperty(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Association feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningAssociationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_owningAssociation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_owningAssociation_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_OwningAssociation(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Association feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAssociationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_association_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_association_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_Association(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Default Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefaultValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_defaultValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_defaultValue_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_DefaultValue(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Opposite feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOppositePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_opposite_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_opposite_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_Opposite(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Subsetted Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubsettedPropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_subsettedProperty_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_subsettedProperty_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_SubsettedProperty(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Qualifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQualifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_qualifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_qualifier_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_Qualifier(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Association End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAssociationEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Property_associationEnd_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Property_associationEnd_feature", "_UI_Property_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProperty_AssociationEnd(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getProperty_Qualifier());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Property.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Property"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Property) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Property_type") : //$NON-NLS-1$
+ getString("_UI_Property_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Property.class)) {
+ case UMLPackage.PROPERTY__IS_DERIVED :
+ case UMLPackage.PROPERTY__IS_DERIVED_UNION :
+ case UMLPackage.PROPERTY__DEFAULT :
+ case UMLPackage.PROPERTY__AGGREGATION :
+ case UMLPackage.PROPERTY__IS_COMPOSITE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.PROPERTY__DEPLOYMENT :
+ case UMLPackage.PROPERTY__TEMPLATE_BINDING :
+ case UMLPackage.PROPERTY__OWNED_TEMPLATE_SIGNATURE :
+ case UMLPackage.PROPERTY__DEFAULT_VALUE :
+ case UMLPackage.PROPERTY__QUALIFIER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment(), UMLFactory.eINSTANCE
+ .createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE
+ .createTemplateBinding()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createRedefinableTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_DefaultValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_Qualifier(), UMLFactory.eINSTANCE.createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_Qualifier(), UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getProperty_Qualifier(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue()
+ || childFeature == UMLPackage.eINSTANCE.getProperty_DefaultValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDeploymentTarget_Deployment()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getNamedElement_ClientDependency()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getNamedElement_ClientDependency()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDeploymentTarget_Deployment()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getParameterableElement_OwningTemplateParameter()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getParameterableElement_TemplateParameter()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getProperty_OwningAssociation()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProperty_Association()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getProperty_Association()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProperty_OwningAssociation()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolConformanceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolConformanceItemProvider.java
new file mode 100644
index 00000000..b0bf5dce
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolConformanceItemProvider.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ProtocolConformanceItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProtocolConformance} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProtocolConformanceItemProvider
+ extends DirectedRelationshipItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolConformanceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addGeneralMachinePropertyDescriptor(object);
+ addSpecificMachinePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the General Machine feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGeneralMachinePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProtocolConformance_generalMachine_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProtocolConformance_generalMachine_feature", "_UI_ProtocolConformance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProtocolConformance_GeneralMachine(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Specific Machine feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSpecificMachinePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProtocolConformance_specificMachine_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProtocolConformance_specificMachine_feature", "_UI_ProtocolConformance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProtocolConformance_SpecificMachine(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns ProtocolConformance.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ProtocolConformance"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_ProtocolConformance_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolStateMachineItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolStateMachineItemProvider.java
new file mode 100644
index 00000000..f7b25323
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolStateMachineItemProvider.java
@@ -0,0 +1,208 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ProtocolStateMachineItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ProtocolStateMachine;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProtocolStateMachine} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProtocolStateMachineItemProvider
+ extends StateMachineItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolStateMachineItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addConformancePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Conformance feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConformancePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProtocolStateMachine_conformance_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProtocolStateMachine_conformance_feature", "_UI_ProtocolStateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProtocolStateMachine_Conformance(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getProtocolStateMachine_Conformance());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ProtocolStateMachine.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ProtocolStateMachine"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ProtocolStateMachine) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ProtocolStateMachine_type") : //$NON-NLS-1$
+ getString("_UI_ProtocolStateMachine_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ProtocolStateMachine.class)) {
+ case UMLPackage.PROTOCOL_STATE_MACHINE__CONFORMANCE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProtocolStateMachine_Conformance(), UMLFactory.eINSTANCE
+ .createProtocolConformance()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolTransitionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolTransitionItemProvider.java
new file mode 100644
index 00000000..eb827d5d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ProtocolTransitionItemProvider.java
@@ -0,0 +1,293 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ProtocolTransitionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.ProtocolTransition;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ProtocolTransition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProtocolTransitionItemProvider
+ extends TransitionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtocolTransitionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addPostConditionPropertyDescriptor(object);
+ addReferredPropertyDescriptor(object);
+ addPreConditionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Post Condition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPostConditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProtocolTransition_postCondition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProtocolTransition_postCondition_feature", "_UI_ProtocolTransition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProtocolTransition_PostCondition(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Referred feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReferredPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProtocolTransition_referred_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProtocolTransition_referred_feature", "_UI_ProtocolTransition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProtocolTransition_Referred(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Pre Condition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPreConditionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProtocolTransition_preCondition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ProtocolTransition_preCondition_feature", "_UI_ProtocolTransition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getProtocolTransition_PreCondition(),
+ true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getProtocolTransition_PostCondition());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ProtocolTransition.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ProtocolTransition"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ProtocolTransition) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ProtocolTransition_type") : //$NON-NLS-1$
+ getString("_UI_ProtocolTransition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ProtocolTransition.class)) {
+ case UMLPackage.PROTOCOL_TRANSITION__POST_CONDITION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getProtocolTransition_PostCondition(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTransition_Guard()
+ || childFeature == UMLPackage.eINSTANCE
+ .getProtocolTransition_PostCondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getProtocolTransition_PreCondition()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTransition_Guard()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getTransition_Guard()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getProtocolTransition_PreCondition()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PseudostateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PseudostateItemProvider.java
new file mode 100644
index 00000000..6bb05016
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/PseudostateItemProvider.java
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: PseudostateItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Pseudostate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PseudostateItemProvider
+ extends VertexItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PseudostateItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addKindPropertyDescriptor(object);
+ addStateMachinePropertyDescriptor(object);
+ addStatePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Kind feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Pseudostate_kind_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Pseudostate_kind_feature", "_UI_Pseudostate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPseudostate_Kind(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the State Machine feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStateMachinePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Pseudostate_stateMachine_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Pseudostate_stateMachine_feature", "_UI_Pseudostate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPseudostate_StateMachine(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the State feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Pseudostate_state_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Pseudostate_state_feature", "_UI_Pseudostate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getPseudostate_State(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns Pseudostate.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Pseudostate"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Pseudostate) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Pseudostate_type") : //$NON-NLS-1$
+ getString("_UI_Pseudostate_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Pseudostate.class)) {
+ case UMLPackage.PSEUDOSTATE__KIND :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/QualifierValueItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/QualifierValueItemProvider.java
new file mode 100644
index 00000000..3902ab57
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/QualifierValueItemProvider.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: QualifierValueItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.QualifierValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QualifierValueItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifierValueItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addQualifierPropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Qualifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQualifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_QualifierValue_qualifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_QualifierValue_qualifier_feature", "_UI_QualifierValue_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getQualifierValue_Qualifier(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_QualifierValue_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_QualifierValue_value_feature", "_UI_QualifierValue_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getQualifierValue_Value(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns QualifierValue.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/QualifierValue"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_QualifierValue_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RaiseExceptionActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RaiseExceptionActionItemProvider.java
new file mode 100644
index 00000000..c1734170
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RaiseExceptionActionItemProvider.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RaiseExceptionActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.RaiseExceptionAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RaiseExceptionAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RaiseExceptionActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RaiseExceptionActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addExceptionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Exception feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExceptionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RaiseExceptionAction_exception_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RaiseExceptionAction_exception_feature", "_UI_RaiseExceptionAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRaiseExceptionAction_Exception(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getRaiseExceptionAction_Exception());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns RaiseExceptionAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/RaiseExceptionAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((RaiseExceptionAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_RaiseExceptionAction_type") : //$NON-NLS-1$
+ getString("_UI_RaiseExceptionAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(RaiseExceptionAction.class)) {
+ case UMLPackage.RAISE_EXCEPTION_ACTION__EXCEPTION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRaiseExceptionAction_Exception(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRaiseExceptionAction_Exception(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRaiseExceptionAction_Exception(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadExtentActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadExtentActionItemProvider.java
new file mode 100644
index 00000000..4a71cf1f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadExtentActionItemProvider.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadExtentActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadExtentAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadExtentAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadExtentActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadExtentActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addResultPropertyDescriptor(object);
+ addClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadExtentAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadExtentAction_result_feature", "_UI_ReadExtentAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadExtentAction_Result(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadExtentAction_classifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadExtentAction_classifier_feature", "_UI_ReadExtentAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadExtentAction_Classifier(), true,
+ null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadExtentAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ReadExtentAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ReadExtentAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadExtentAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadExtentAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadExtentAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReadExtentAction.class)) {
+ case UMLPackage.READ_EXTENT_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadExtentAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadIsClassifiedObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadIsClassifiedObjectActionItemProvider.java
new file mode 100644
index 00000000..a1cb15d1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadIsClassifiedObjectActionItemProvider.java
@@ -0,0 +1,302 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadIsClassifiedObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadIsClassifiedObjectAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadIsClassifiedObjectAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadIsClassifiedObjectActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadIsClassifiedObjectActionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsDirectPropertyDescriptor(object);
+ addClassifierPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ addObjectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Direct feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDirectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadIsClassifiedObjectAction_isDirect_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_isDirect_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadIsClassifiedObjectAction_IsDirect(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadIsClassifiedObjectAction_classifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_classifier_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getReadIsClassifiedObjectAction_Classifier(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadIsClassifiedObjectAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_result_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadIsClassifiedObjectAction_Result(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadIsClassifiedObjectAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadIsClassifiedObjectAction_object_feature", "_UI_ReadIsClassifiedObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadIsClassifiedObjectAction_Object(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadIsClassifiedObjectAction_Result());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadIsClassifiedObjectAction_Object());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ReadIsClassifiedObjectAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ReadIsClassifiedObjectAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadIsClassifiedObjectAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadIsClassifiedObjectAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadIsClassifiedObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReadIsClassifiedObjectAction.class)) {
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IS_DIRECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__RESULT :
+ case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__OBJECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadIsClassifiedObjectAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadIsClassifiedObjectAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadIsClassifiedObjectAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadIsClassifiedObjectAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkActionItemProvider.java
new file mode 100644
index 00000000..3eda43f2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkActionItemProvider.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadLinkAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadLinkAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadLinkActionItemProvider
+ extends LinkActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadLinkActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadLinkAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadLinkAction_result_feature", "_UI_ReadLinkAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadLinkAction_Result(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadLinkAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ReadLinkAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ReadLinkAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadLinkAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadLinkAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReadLinkAction.class)) {
+ case UMLPackage.READ_LINK_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndActionItemProvider.java
new file mode 100644
index 00000000..9d3d66cf
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndActionItemProvider.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadLinkObjectEndActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadLinkObjectEndAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadLinkObjectEndActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadLinkObjectEndActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addObjectPropertyDescriptor(object);
+ addEndPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadLinkObjectEndAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndAction_object_feature", "_UI_ReadLinkObjectEndAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadLinkObjectEndAction_Object(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadLinkObjectEndAction_end_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndAction_end_feature", "_UI_ReadLinkObjectEndAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadLinkObjectEndAction_End(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadLinkObjectEndAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndAction_result_feature", "_UI_ReadLinkObjectEndAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadLinkObjectEndAction_Result(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndAction_Object());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ReadLinkObjectEndAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ReadLinkObjectEndAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadLinkObjectEndAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadLinkObjectEndAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadLinkObjectEndAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReadLinkObjectEndAction.class)) {
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__OBJECT :
+ case UMLPackage.READ_LINK_OBJECT_END_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndQualifierActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndQualifierActionItemProvider.java
new file mode 100644
index 00000000..f6ce02fd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadLinkObjectEndQualifierActionItemProvider.java
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadLinkObjectEndQualifierActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadLinkObjectEndQualifierActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadLinkObjectEndQualifierActionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addObjectPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ addQualifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadLinkObjectEndQualifierAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndQualifierAction_object_feature", "_UI_ReadLinkObjectEndQualifierAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Object(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadLinkObjectEndQualifierAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndQualifierAction_result_feature", "_UI_ReadLinkObjectEndQualifierAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Result(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Qualifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQualifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadLinkObjectEndQualifierAction_qualifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadLinkObjectEndQualifierAction_qualifier_feature", "_UI_ReadLinkObjectEndQualifierAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Qualifier(), true,
+ null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Object());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ReadLinkObjectEndQualifierAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ReadLinkObjectEndQualifierAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadLinkObjectEndQualifierAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadLinkObjectEndQualifierAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadLinkObjectEndQualifierAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification
+ .getFeatureID(ReadLinkObjectEndQualifierAction.class)) {
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__OBJECT :
+ case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadLinkObjectEndQualifierAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadSelfActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadSelfActionItemProvider.java
new file mode 100644
index 00000000..418f1354
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadSelfActionItemProvider.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadSelfActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadSelfAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadSelfAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadSelfActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadSelfActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadSelfAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadSelfAction_result_feature", "_UI_ReadSelfAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadSelfAction_Result(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadSelfAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ReadSelfAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ReadSelfAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadSelfAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadSelfAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadSelfAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReadSelfAction.class)) {
+ case UMLPackage.READ_SELF_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadSelfAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadStructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadStructuralFeatureActionItemProvider.java
new file mode 100644
index 00000000..73a934a2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadStructuralFeatureActionItemProvider.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadStructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadStructuralFeatureAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadStructuralFeatureAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadStructuralFeatureActionItemProvider
+ extends StructuralFeatureActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadStructuralFeatureActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadStructuralFeatureAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadStructuralFeatureAction_result_feature", "_UI_ReadStructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadStructuralFeatureAction_Result(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadStructuralFeatureAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ReadStructuralFeatureAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ReadStructuralFeatureAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadStructuralFeatureAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadStructuralFeatureAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadStructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReadStructuralFeatureAction.class)) {
+ case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadStructuralFeatureAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadVariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadVariableActionItemProvider.java
new file mode 100644
index 00000000..a069dc31
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReadVariableActionItemProvider.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReadVariableActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReadVariableAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReadVariableAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReadVariableActionItemProvider
+ extends VariableActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReadVariableActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReadVariableAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReadVariableAction_result_feature", "_UI_ReadVariableAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReadVariableAction_Result(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReadVariableAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ReadVariableAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ReadVariableAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReadVariableAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReadVariableAction_type") : //$NON-NLS-1$
+ getString("_UI_ReadVariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReadVariableAction.class)) {
+ case UMLPackage.READ_VARIABLE_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReadVariableAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RealizationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RealizationItemProvider.java
new file mode 100644
index 00000000..037f266f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RealizationItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RealizationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Realization;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Realization} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RealizationItemProvider
+ extends AbstractionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RealizationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Realization.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Realization"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Realization) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Realization_type") : //$NON-NLS-1$
+ getString("_UI_Realization_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReceptionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReceptionItemProvider.java
new file mode 100644
index 00000000..11343aea
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReceptionItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReceptionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Reception} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReceptionItemProvider
+ extends BehavioralFeatureItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReceptionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSignalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Signal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Reception_signal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Reception_signal_feature", "_UI_Reception_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReception_Signal(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns Reception.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Reception"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Reception) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Reception_type") : //$NON-NLS-1$
+ getString("_UI_Reception_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReclassifyObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReclassifyObjectActionItemProvider.java
new file mode 100644
index 00000000..24c02438
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReclassifyObjectActionItemProvider.java
@@ -0,0 +1,277 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReclassifyObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:32 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReclassifyObjectAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReclassifyObjectAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReclassifyObjectActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReclassifyObjectActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsReplaceAllPropertyDescriptor(object);
+ addOldClassifierPropertyDescriptor(object);
+ addNewClassifierPropertyDescriptor(object);
+ addObjectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Replace All feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsReplaceAllPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReclassifyObjectAction_isReplaceAll_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_isReplaceAll_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReclassifyObjectAction_IsReplaceAll(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Old Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOldClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReclassifyObjectAction_oldClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_oldClassifier_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReclassifyObjectAction_OldClassifier(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the New Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNewClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReclassifyObjectAction_newClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_newClassifier_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReclassifyObjectAction_NewClassifier(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReclassifyObjectAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReclassifyObjectAction_object_feature", "_UI_ReclassifyObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReclassifyObjectAction_Object(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReclassifyObjectAction_Object());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ReclassifyObjectAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ReclassifyObjectAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReclassifyObjectAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReclassifyObjectAction_type") : //$NON-NLS-1$
+ getString("_UI_ReclassifyObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReclassifyObjectAction.class)) {
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__IS_REPLACE_ALL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.RECLASSIFY_OBJECT_ACTION__OBJECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReclassifyObjectAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReclassifyObjectAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReclassifyObjectAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableElementItemProvider.java
new file mode 100644
index 00000000..0c949a4f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableElementItemProvider.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RedefinableElementItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.RedefinableElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RedefinableElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RedefinableElementItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsLeafPropertyDescriptor(object);
+ addRedefinedElementPropertyDescriptor(object);
+ addRedefinitionContextPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Leaf feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsLeafPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefinition Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinitionContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableElement_RedefinitionContext(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((RedefinableElement) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_RedefinableElement_type") : //$NON-NLS-1$
+ getString("_UI_RedefinableElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(RedefinableElement.class)) {
+ case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableTemplateSignatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableTemplateSignatureItemProvider.java
new file mode 100644
index 00000000..dad8b3f4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RedefinableTemplateSignatureItemProvider.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RedefinableTemplateSignatureItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.RedefinableTemplateSignature;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RedefinableTemplateSignature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RedefinableTemplateSignatureItemProvider
+ extends RedefinableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RedefinableTemplateSignatureItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addParameterPropertyDescriptor(object);
+ addTemplatePropertyDescriptor(object);
+ addOwnedParameterPropertyDescriptor(object);
+ addExtendedSignaturePropertyDescriptor(object);
+ addInheritedParameterPropertyDescriptor(object);
+ addClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateSignature_parameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_parameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateSignature_Parameter(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Template feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateSignature_template_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_template_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateSignature_Template(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateSignature_ownedParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_ownedParameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateSignature_OwnedParameter(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extended Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtendedSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableTemplateSignature_extendedSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableTemplateSignature_extendedSignature_feature", "_UI_RedefinableTemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableTemplateSignature_ExtendedSignature(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Inherited Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInheritedParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableTemplateSignature_inheritedParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableTemplateSignature_inheritedParameter_feature", "_UI_RedefinableTemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableTemplateSignature_InheritedParameter(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableTemplateSignature_classifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableTemplateSignature_classifier_feature", "_UI_RedefinableTemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableTemplateSignature_Classifier(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns RedefinableTemplateSignature.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/RedefinableTemplateSignature"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((RedefinableTemplateSignature) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_RedefinableTemplateSignature_type") : //$NON-NLS-1$
+ getString("_UI_RedefinableTemplateSignature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(RedefinableTemplateSignature.class)) {
+ case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createTemplateParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createOperationTemplateParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createConnectableElementTemplateParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createClassifierTemplateParameter()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_Parameter()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_Parameter()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RegionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RegionItemProvider.java
new file mode 100644
index 00000000..d91dc17e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RegionItemProvider.java
@@ -0,0 +1,361 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RegionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Region} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RegionItemProvider
+ extends NamespaceItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RegionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsLeafPropertyDescriptor(object);
+ addRedefinedElementPropertyDescriptor(object);
+ addRedefinitionContextPropertyDescriptor(object);
+ addSubvertexPropertyDescriptor(object);
+ addTransitionPropertyDescriptor(object);
+ addStatePropertyDescriptor(object);
+ addExtendedRegionPropertyDescriptor(object);
+ addStateMachinePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Leaf feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsLeafPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefinition Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinitionContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableElement_RedefinitionContext(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Subvertex feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubvertexPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Region_subvertex_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Region_subvertex_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRegion_Subvertex(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Transition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTransitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Region_transition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Region_transition_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRegion_Transition(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the State feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Region_state_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Region_state_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRegion_State(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extended Region feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtendedRegionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Region_extendedRegion_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Region_extendedRegion_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRegion_ExtendedRegion(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the State Machine feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStateMachinePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Region_stateMachine_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Region_stateMachine_feature", "_UI_Region_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRegion_StateMachine(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getRegion_Subvertex());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getRegion_Transition());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Region.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Region"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Region) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Region_type") : //$NON-NLS-1$
+ getString("_UI_Region_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Region.class)) {
+ case UMLPackage.REGION__IS_LEAF :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.REGION__SUBVERTEX :
+ case UMLPackage.REGION__TRANSITION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRegion_Subvertex(), UMLFactory.eINSTANCE.createState()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRegion_Subvertex(), UMLFactory.eINSTANCE
+ .createConnectionPointReference()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRegion_Subvertex(), UMLFactory.eINSTANCE.createPseudostate()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRegion_Subvertex(), UMLFactory.eINSTANCE.createFinalState()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRegion_Transition(), UMLFactory.eINSTANCE.createTransition()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRegion_Transition(), UMLFactory.eINSTANCE
+ .createProtocolTransition()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RelationshipItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RelationshipItemProvider.java
new file mode 100644
index 00000000..a70be1a4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RelationshipItemProvider.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RelationshipItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Relationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RelationshipItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelationshipItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRelatedElementPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Related Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRelatedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Relationship_relatedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Relationship_relatedElement_feature", "_UI_Relationship_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRelationship_RelatedElement(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_Relationship_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveStructuralFeatureValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveStructuralFeatureValueActionItemProvider.java
new file mode 100644
index 00000000..8debcf09
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveStructuralFeatureValueActionItemProvider.java
@@ -0,0 +1,247 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RemoveStructuralFeatureValueActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RemoveStructuralFeatureValueActionItemProvider
+ extends WriteStructuralFeatureActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RemoveStructuralFeatureValueActionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsRemoveDuplicatesPropertyDescriptor(object);
+ addRemoveAtPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Remove Duplicates feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsRemoveDuplicatesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RemoveStructuralFeatureValueAction_isRemoveDuplicates_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RemoveStructuralFeatureValueAction_isRemoveDuplicates_feature", "_UI_RemoveStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRemoveStructuralFeatureValueAction_IsRemoveDuplicates(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Remove At feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRemoveAtPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RemoveStructuralFeatureValueAction_removeAt_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RemoveStructuralFeatureValueAction_removeAt_feature", "_UI_RemoveStructuralFeatureValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRemoveStructuralFeatureValueAction_RemoveAt(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getRemoveStructuralFeatureValueAction_RemoveAt());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns RemoveStructuralFeatureValueAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/RemoveStructuralFeatureValueAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((RemoveStructuralFeatureValueAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_RemoveStructuralFeatureValueAction_type") : //$NON-NLS-1$
+ getString("_UI_RemoveStructuralFeatureValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification
+ .getFeatureID(RemoveStructuralFeatureValueAction.class)) {
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REMOVE_AT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRemoveStructuralFeatureValueAction_RemoveAt(),
+ UMLFactory.eINSTANCE.createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRemoveStructuralFeatureValueAction_RemoveAt(),
+ UMLFactory.eINSTANCE.createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRemoveStructuralFeatureValueAction_RemoveAt(),
+ UMLFactory.eINSTANCE.createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object()
+ || childFeature == UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value()
+ || childFeature == UMLPackage.eINSTANCE
+ .getRemoveStructuralFeatureValueAction_RemoveAt();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveVariableValueActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveVariableValueActionItemProvider.java
new file mode 100644
index 00000000..941ace94
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/RemoveVariableValueActionItemProvider.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: RemoveVariableValueActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.RemoveVariableValueAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.RemoveVariableValueAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RemoveVariableValueActionItemProvider
+ extends WriteVariableActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RemoveVariableValueActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsRemoveDuplicatesPropertyDescriptor(object);
+ addRemoveAtPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Remove Duplicates feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsRemoveDuplicatesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RemoveVariableValueAction_isRemoveDuplicates_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RemoveVariableValueAction_isRemoveDuplicates_feature", "_UI_RemoveVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRemoveVariableValueAction_IsRemoveDuplicates(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Remove At feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRemoveAtPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RemoveVariableValueAction_removeAt_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RemoveVariableValueAction_removeAt_feature", "_UI_RemoveVariableValueAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRemoveVariableValueAction_RemoveAt(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getRemoveVariableValueAction_RemoveAt());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns RemoveVariableValueAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/RemoveVariableValueAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((RemoveVariableValueAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_RemoveVariableValueAction_type") : //$NON-NLS-1$
+ getString("_UI_RemoveVariableValueAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(RemoveVariableValueAction.class)) {
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IS_REMOVE_DUPLICATES :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REMOVE_AT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRemoveVariableValueAction_RemoveAt(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRemoveVariableValueAction_RemoveAt(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getRemoveVariableValueAction_RemoveAt(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getWriteVariableAction_Value()
+ || childFeature == UMLPackage.eINSTANCE
+ .getRemoveVariableValueAction_RemoveAt();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReplyActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReplyActionItemProvider.java
new file mode 100644
index 00000000..5665cbb4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ReplyActionItemProvider.java
@@ -0,0 +1,286 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ReplyActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.ReplyAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ReplyAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReplyActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReplyActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addReplyToCallPropertyDescriptor(object);
+ addReturnInformationPropertyDescriptor(object);
+ addReplyValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Reply To Call feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReplyToCallPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReplyAction_replyToCall_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReplyAction_replyToCall_feature", "_UI_ReplyAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReplyAction_ReplyToCall(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Return Information feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReturnInformationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReplyAction_returnInformation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReplyAction_returnInformation_feature", "_UI_ReplyAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReplyAction_ReturnInformation(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Reply Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReplyValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ReplyAction_replyValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ReplyAction_replyValue_feature", "_UI_ReplyAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getReplyAction_ReplyValue(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReplyAction_ReturnInformation());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getReplyAction_ReplyValue());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ReplyAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ReplyAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ReplyAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ReplyAction_type") : //$NON-NLS-1$
+ getString("_UI_ReplyAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReplyAction.class)) {
+ case UMLPackage.REPLY_ACTION__RETURN_INFORMATION :
+ case UMLPackage.REPLY_ACTION__REPLY_VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReplyAction_ReturnInformation(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReplyAction_ReturnInformation(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReplyAction_ReturnInformation(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getReplyAction_ReplyValue(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getReplyAction_ReplyValue(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getReplyAction_ReplyValue(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getReplyAction_ReturnInformation()
+ || childFeature == UMLPackage.eINSTANCE.getReplyAction_ReplyValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendObjectActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendObjectActionItemProvider.java
new file mode 100644
index 00000000..c3d58d88
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendObjectActionItemProvider.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SendObjectActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.SendObjectAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendObjectAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SendObjectActionItemProvider
+ extends InvocationActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendObjectActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTargetPropertyDescriptor(object);
+ addRequestPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SendObjectAction_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SendObjectAction_target_feature", "_UI_SendObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSendObjectAction_Target(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Request feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRequestPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SendObjectAction_request_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SendObjectAction_request_feature", "_UI_SendObjectAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSendObjectAction_Request(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getSendObjectAction_Target());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getSendObjectAction_Request());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns SendObjectAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/SendObjectAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((SendObjectAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_SendObjectAction_type") : //$NON-NLS-1$
+ getString("_UI_SendObjectAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(SendObjectAction.class)) {
+ case UMLPackage.SEND_OBJECT_ACTION__TARGET :
+ case UMLPackage.SEND_OBJECT_ACTION__REQUEST :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendObjectAction_Target(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendObjectAction_Target(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendObjectAction_Target(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendObjectAction_Request(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendObjectAction_Request(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendObjectAction_Request(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInvocationAction_Argument()
+ || childFeature == UMLPackage.eINSTANCE
+ .getSendObjectAction_Target()
+ || childFeature == UMLPackage.eINSTANCE
+ .getSendObjectAction_Request();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendOperationEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendOperationEventItemProvider.java
new file mode 100644
index 00000000..a1945df6
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendOperationEventItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SendOperationEventItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.SendOperationEvent;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendOperationEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SendOperationEventItemProvider
+ extends MessageEventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendOperationEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOperationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SendOperationEvent_operation_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SendOperationEvent_operation_feature", "_UI_SendOperationEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSendOperationEvent_Operation(), true,
+ null, null, null));
+ }
+
+ /**
+ * This returns SendOperationEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/SendOperationEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((SendOperationEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_SendOperationEvent_type") : //$NON-NLS-1$
+ getString("_UI_SendOperationEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalActionItemProvider.java
new file mode 100644
index 00000000..b970967c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalActionItemProvider.java
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SendSignalActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.SendSignalAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendSignalAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SendSignalActionItemProvider
+ extends InvocationActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendSignalActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTargetPropertyDescriptor(object);
+ addSignalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SendSignalAction_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SendSignalAction_target_feature", "_UI_SendSignalAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSendSignalAction_Target(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Signal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SendSignalAction_signal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SendSignalAction_signal_feature", "_UI_SendSignalAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSendSignalAction_Signal(), true, null,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getSendSignalAction_Target());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns SendSignalAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/SendSignalAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((SendSignalAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_SendSignalAction_type") : //$NON-NLS-1$
+ getString("_UI_SendSignalAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(SendSignalAction.class)) {
+ case UMLPackage.SEND_SIGNAL_ACTION__TARGET :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendSignalAction_Target(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendSignalAction_Target(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSendSignalAction_Target(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getInvocationAction_Argument()
+ || childFeature == UMLPackage.eINSTANCE
+ .getSendSignalAction_Target();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalEventItemProvider.java
new file mode 100644
index 00000000..32303f92
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SendSignalEventItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SendSignalEventItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.SendSignalEvent;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SendSignalEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SendSignalEventItemProvider
+ extends MessageEventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendSignalEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSignalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Signal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SendSignalEvent_signal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SendSignalEvent_signal_feature", "_UI_SendSignalEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSendSignalEvent_Signal(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns SendSignalEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/SendSignalEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((SendSignalEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_SendSignalEvent_type") : //$NON-NLS-1$
+ getString("_UI_SendSignalEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SequenceNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SequenceNodeItemProvider.java
new file mode 100644
index 00000000..6193523c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SequenceNodeItemProvider.java
@@ -0,0 +1,376 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SequenceNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.SequenceNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SequenceNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SequenceNodeItemProvider
+ extends StructuredActivityNodeItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addExecutableNodePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Executable Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExecutableNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SequenceNode_executableNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SequenceNode_executableNode_feature", "_UI_SequenceNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSequenceNode_ExecutableNode(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns SequenceNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/SequenceNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((SequenceNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_SequenceNode_type") : //$NON-NLS-1$
+ getString("_UI_SequenceNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(SequenceNode.class)) {
+ case UMLPackage.SEQUENCE_NODE__EXECUTABLE_NODE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createStructuredActivityNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createCreateObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createDestroyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createTestIdentityAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadSelfAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createClearStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createRemoveStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createAddStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createCreateLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createDestroyLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createClearAssociationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createBroadcastSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createSendObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createValueSpecificationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createTimeObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createDurationObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createOpaqueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createSendSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createCallOperationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createCallBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createClearVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createAddVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createRemoveVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createRaiseExceptionAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadExtentAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReclassifyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadIsClassifiedObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createStartClassifierBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndQualifierAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createCreateLinkObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createAcceptEventAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createAcceptCallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createReplyAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createUnmarshallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createSequenceNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createConditionalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createLoopNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode(), UMLFactory.eINSTANCE
+ .createExpansionRegion()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node()
+ || childFeature == UMLPackage.eINSTANCE
+ .getSequenceNode_ExecutableNode();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalEventItemProvider.java
new file mode 100644
index 00000000..5f6e9d80
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalEventItemProvider.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SignalEventItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.SignalEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SignalEventItemProvider
+ extends MessageEventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSignalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Signal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SignalEvent_signal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_SignalEvent_signal_feature", "_UI_SignalEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSignalEvent_Signal(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns SignalEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/SignalEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((SignalEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_SignalEvent_type") : //$NON-NLS-1$
+ getString("_UI_SignalEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalItemProvider.java
new file mode 100644
index 00000000..cd3400f4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SignalItemProvider.java
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SignalItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Signal} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SignalItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedAttributePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedAttributePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Signal_ownedAttribute_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Signal_ownedAttribute_feature", "_UI_Signal_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSignal_OwnedAttribute(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getSignal_OwnedAttribute());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Signal.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Signal"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Signal) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Signal_type") : //$NON-NLS-1$
+ getString("_UI_Signal_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Signal.class)) {
+ case UMLPackage.SIGNAL__OWNED_ATTRIBUTE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getSignal_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSignal_OwnedAttribute(), UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSignal_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SlotItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SlotItemProvider.java
new file mode 100644
index 00000000..0264255f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SlotItemProvider.java
@@ -0,0 +1,254 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SlotItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Slot} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SlotItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SlotItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwningInstancePropertyDescriptor(object);
+ addDefiningFeaturePropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Instance feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningInstancePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Slot_owningInstance_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Slot_owningInstance_feature", "_UI_Slot_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSlot_OwningInstance(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Defining Feature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefiningFeaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Slot_definingFeature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Slot_definingFeature_feature", "_UI_Slot_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSlot_DefiningFeature(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Slot_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Slot_value_feature", "_UI_Slot_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSlot_Value(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getSlot_Value());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns Slot.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Slot"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_Slot_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Slot.class)) {
+ case UMLPackage.SLOT__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getSlot_Value(), UMLFactory.eINSTANCE.createTimeInterval()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StartClassifierBehaviorActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StartClassifierBehaviorActionItemProvider.java
new file mode 100644
index 00000000..79735179
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StartClassifierBehaviorActionItemProvider.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StartClassifierBehaviorActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StartClassifierBehaviorAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StartClassifierBehaviorAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StartClassifierBehaviorActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StartClassifierBehaviorActionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addObjectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StartClassifierBehaviorAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StartClassifierBehaviorAction_object_feature", "_UI_StartClassifierBehaviorAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStartClassifierBehaviorAction_Object(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStartClassifierBehaviorAction_Object());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns StartClassifierBehaviorAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/StartClassifierBehaviorAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StartClassifierBehaviorAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StartClassifierBehaviorAction_type") : //$NON-NLS-1$
+ getString("_UI_StartClassifierBehaviorAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StartClassifierBehaviorAction.class)) {
+ case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__OBJECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStartClassifierBehaviorAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStartClassifierBehaviorAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStartClassifierBehaviorAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateInvariantItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateInvariantItemProvider.java
new file mode 100644
index 00000000..6a854664
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateInvariantItemProvider.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StateInvariantItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StateInvariant;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StateInvariant} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateInvariantItemProvider
+ extends InteractionFragmentItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateInvariantItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addInvariantPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Invariant feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInvariantPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StateInvariant_invariant_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StateInvariant_invariant_feature", "_UI_StateInvariant_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStateInvariant_Invariant(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStateInvariant_Invariant());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns StateInvariant.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/StateInvariant"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StateInvariant) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StateInvariant_type") : //$NON-NLS-1$
+ getString("_UI_StateInvariant_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StateInvariant.class)) {
+ case UMLPackage.STATE_INVARIANT__INVARIANT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStateInvariant_Invariant(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStateInvariant_Invariant(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStateInvariant_Invariant(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStateInvariant_Invariant(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStateInvariant_Invariant(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateItemProvider.java
new file mode 100644
index 00000000..c6d2fb8a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateItemProvider.java
@@ -0,0 +1,745 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StateItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.State} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateItemProvider
+ extends NamespaceItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsLeafPropertyDescriptor(object);
+ addRedefinedElementPropertyDescriptor(object);
+ addRedefinitionContextPropertyDescriptor(object);
+ addOutgoingPropertyDescriptor(object);
+ addIncomingPropertyDescriptor(object);
+ addContainerPropertyDescriptor(object);
+ addIsCompositePropertyDescriptor(object);
+ addIsOrthogonalPropertyDescriptor(object);
+ addIsSimplePropertyDescriptor(object);
+ addIsSubmachineStatePropertyDescriptor(object);
+ addSubmachinePropertyDescriptor(object);
+ addConnectionPropertyDescriptor(object);
+ addConnectionPointPropertyDescriptor(object);
+ addRedefinedStatePropertyDescriptor(object);
+ addStateInvariantPropertyDescriptor(object);
+ addEntryPropertyDescriptor(object);
+ addExitPropertyDescriptor(object);
+ addDoActivityPropertyDescriptor(object);
+ addDeferrableTriggerPropertyDescriptor(object);
+ addRegionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Leaf feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsLeafPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_isLeaf_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_isLeaf_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_IsLeaf(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinedElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinedElement_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getRedefinableElement_RedefinedElement(),
+ false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefinition Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinitionContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_RedefinableElement_redefinitionContext_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_RedefinableElement_redefinitionContext_feature", "_UI_RedefinableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getRedefinableElement_RedefinitionContext(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Outgoing feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOutgoingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Vertex_outgoing_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Vertex_outgoing_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVertex_Outgoing(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Incoming feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIncomingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Vertex_incoming_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Vertex_incoming_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVertex_Incoming(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Container feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Vertex_container_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Vertex_container_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVertex_Container(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Composite feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsCompositePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_isComposite_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_isComposite_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_IsComposite(), false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Orthogonal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsOrthogonalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_isOrthogonal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_isOrthogonal_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_IsOrthogonal(), false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Simple feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsSimplePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_isSimple_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_isSimple_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_IsSimple(), false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Submachine State feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsSubmachineStatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_isSubmachineState_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_isSubmachineState_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_IsSubmachineState(), false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Submachine feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubmachinePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_submachine_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_submachine_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_Submachine(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Connection feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConnectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_connection_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_connection_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_Connection(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Connection Point feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConnectionPointPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_connectionPoint_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_connectionPoint_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_ConnectionPoint(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined State feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedStatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_redefinedState_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_redefinedState_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_RedefinedState(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the State Invariant feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStateInvariantPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_stateInvariant_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_stateInvariant_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_StateInvariant(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Entry feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEntryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_entry_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_entry_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_Entry(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Exit feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExitPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_exit_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_exit_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_Exit(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Do Activity feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDoActivityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_doActivity_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_doActivity_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_DoActivity(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Deferrable Trigger feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeferrableTriggerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_deferrableTrigger_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_deferrableTrigger_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_DeferrableTrigger(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Region feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRegionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_State_region_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_State_region_feature", "_UI_State_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getState_Region(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getState_Connection());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getState_ConnectionPoint());
+ childrenFeatures
+ .add(UMLPackage.eINSTANCE.getState_StateInvariant());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getState_Entry());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getState_Exit());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getState_DoActivity());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getState_DeferrableTrigger());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getState_Region());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns State.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/State"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((State) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_State_type") : //$NON-NLS-1$
+ getString("_UI_State_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(State.class)) {
+ case UMLPackage.STATE__IS_LEAF :
+ case UMLPackage.STATE__IS_COMPOSITE :
+ case UMLPackage.STATE__IS_ORTHOGONAL :
+ case UMLPackage.STATE__IS_SIMPLE :
+ case UMLPackage.STATE__IS_SUBMACHINE_STATE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.STATE__CONNECTION :
+ case UMLPackage.STATE__CONNECTION_POINT :
+ case UMLPackage.STATE__STATE_INVARIANT :
+ case UMLPackage.STATE__ENTRY :
+ case UMLPackage.STATE__EXIT :
+ case UMLPackage.STATE__DO_ACTIVITY :
+ case UMLPackage.STATE__DEFERRABLE_TRIGGER :
+ case UMLPackage.STATE__REGION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Connection(), UMLFactory.eINSTANCE
+ .createConnectionPointReference()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_ConnectionPoint(), UMLFactory.eINSTANCE
+ .createPseudostate()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_StateInvariant(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_StateInvariant(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_StateInvariant(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_StateInvariant(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_StateInvariant(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Entry(), UMLFactory.eINSTANCE.createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Entry(), UMLFactory.eINSTANCE.createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Entry(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Entry(), UMLFactory.eINSTANCE.createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Entry(), UMLFactory.eINSTANCE.createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Entry(), UMLFactory.eINSTANCE.createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Entry(), UMLFactory.eINSTANCE.createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Exit(), UMLFactory.eINSTANCE.createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Exit(), UMLFactory.eINSTANCE.createStateMachine()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getState_Exit(),
+ UMLFactory.eINSTANCE.createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Exit(), UMLFactory.eINSTANCE.createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Exit(), UMLFactory.eINSTANCE.createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Exit(), UMLFactory.eINSTANCE.createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Exit(), UMLFactory.eINSTANCE.createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DoActivity(), UMLFactory.eINSTANCE.createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DoActivity(), UMLFactory.eINSTANCE.createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DoActivity(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DoActivity(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DoActivity(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DoActivity(), UMLFactory.eINSTANCE.createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DoActivity(), UMLFactory.eINSTANCE.createActivity()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_DeferrableTrigger(), UMLFactory.eINSTANCE
+ .createTrigger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getState_Region(), UMLFactory.eINSTANCE.createRegion()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule()
+ || childFeature == UMLPackage.eINSTANCE.getState_StateInvariant()
+ || childFeature == UMLPackage.eINSTANCE.getState_Entry()
+ || childFeature == UMLPackage.eINSTANCE.getState_Exit()
+ || childFeature == UMLPackage.eINSTANCE.getState_DoActivity();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateMachineItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateMachineItemProvider.java
new file mode 100644
index 00000000..f18d25c1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StateMachineItemProvider.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StateMachineItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StateMachine} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StateMachineItemProvider
+ extends BehaviorItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateMachineItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addRegionPropertyDescriptor(object);
+ addConnectionPointPropertyDescriptor(object);
+ addExtendedStateMachinePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Region feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRegionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StateMachine_region_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StateMachine_region_feature", "_UI_StateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStateMachine_Region(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Connection Point feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConnectionPointPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StateMachine_connectionPoint_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StateMachine_connectionPoint_feature", "_UI_StateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStateMachine_ConnectionPoint(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extended State Machine feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtendedStateMachinePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StateMachine_extendedStateMachine_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StateMachine_extendedStateMachine_feature", "_UI_StateMachine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStateMachine_ExtendedStateMachine(),
+ true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getStateMachine_Region());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStateMachine_ConnectionPoint());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns StateMachine.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/StateMachine"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StateMachine) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StateMachine_type") : //$NON-NLS-1$
+ getString("_UI_StateMachine_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StateMachine.class)) {
+ case UMLPackage.STATE_MACHINE__REGION :
+ case UMLPackage.STATE_MACHINE__CONNECTION_POINT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStateMachine_Region(), UMLFactory.eINSTANCE.createRegion()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStateMachine_ConnectionPoint(), UMLFactory.eINSTANCE
+ .createPseudostate()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StereotypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StereotypeItemProvider.java
new file mode 100644
index 00000000..146b93c8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StereotypeItemProvider.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StereotypeItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Stereotype} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypeItemProvider
+ extends ClassItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIconPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Icon feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIconPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Stereotype_icon_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Stereotype_icon_feature", "_UI_Stereotype_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStereotype_Icon(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns Stereotype.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Stereotype"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Stereotype) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Stereotype_type") : //$NON-NLS-1$
+ getString("_UI_Stereotype_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedUseCase()
+ || childFeature == UMLPackage.eINSTANCE.getClass_NestedClassifier()
+ || childFeature == UMLPackage.eINSTANCE
+ .getBehavioredClassifier_OwnedBehavior();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StringExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StringExpressionItemProvider.java
new file mode 100644
index 00000000..1a81bbb8
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StringExpressionItemProvider.java
@@ -0,0 +1,303 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StringExpressionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StringExpression;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StringExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StringExpressionItemProvider
+ extends ExpressionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringExpressionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateBindingPropertyDescriptor(object);
+ addOwnedTemplateSignaturePropertyDescriptor(object);
+ addSubExpressionPropertyDescriptor(object);
+ addOwningExpressionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Template Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Sub Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StringExpression_subExpression_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StringExpression_subExpression_feature", "_UI_StringExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStringExpression_SubExpression(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owning Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwningExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StringExpression_owningExpression_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StringExpression_owningExpression_feature", "_UI_StringExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStringExpression_OwningExpression(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStringExpression_SubExpression());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns StringExpression.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/StringExpression"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StringExpression) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StringExpression_type") : //$NON-NLS-1$
+ getString("_UI_StringExpression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StringExpression.class)) {
+ case UMLPackage.STRING_EXPRESSION__TEMPLATE_BINDING :
+ case UMLPackage.STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE :
+ case UMLPackage.STRING_EXPRESSION__SUB_EXPRESSION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE
+ .createTemplateBinding()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createRedefinableTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStringExpression_SubExpression(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getExpression_Operand()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStringExpression_SubExpression();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureActionItemProvider.java
new file mode 100644
index 00000000..f771ce40
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureActionItemProvider.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StructuralFeatureAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuralFeatureAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StructuralFeatureActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuralFeatureActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addStructuralFeaturePropertyDescriptor(object);
+ addObjectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Structural Feature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStructuralFeaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuralFeatureAction_structuralFeature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuralFeatureAction_structuralFeature_feature", "_UI_StructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_StructuralFeature(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuralFeatureAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuralFeatureAction_object_feature", "_UI_StructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuralFeatureAction_Object(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StructuralFeatureAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StructuralFeatureAction_type") : //$NON-NLS-1$
+ getString("_UI_StructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StructuralFeatureAction.class)) {
+ case UMLPackage.STRUCTURAL_FEATURE_ACTION__OBJECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureItemProvider.java
new file mode 100644
index 00000000..fb28f65f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuralFeatureItemProvider.java
@@ -0,0 +1,475 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StructuralFeatureItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuralFeature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StructuralFeatureItemProvider
+ extends FeatureItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuralFeatureItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTypePropertyDescriptor(object);
+ addIsOrderedPropertyDescriptor(object);
+ addIsUniquePropertyDescriptor(object);
+ addUpperPropertyDescriptor(object);
+ addLowerPropertyDescriptor(object);
+ addUpperValuePropertyDescriptor(object);
+ addLowerValuePropertyDescriptor(object);
+ addIsReadOnlyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Ordered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsOrderedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Unique feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsUniquePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Read Only feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsReadOnlyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuralFeature_isReadOnly_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuralFeature_isReadOnly_feature", "_UI_StructuralFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuralFeature_IsReadOnly(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StructuralFeature) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StructuralFeature_type") : //$NON-NLS-1$
+ getString("_UI_StructuralFeature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StructuralFeature.class)) {
+ case UMLPackage.STRUCTURAL_FEATURE__IS_ORDERED :
+ case UMLPackage.STRUCTURAL_FEATURE__IS_UNIQUE :
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER :
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER :
+ case UMLPackage.STRUCTURAL_FEATURE__IS_READ_ONLY :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.STRUCTURAL_FEATURE__UPPER_VALUE :
+ case UMLPackage.STRUCTURAL_FEATURE__LOWER_VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredActivityNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredActivityNodeItemProvider.java
new file mode 100644
index 00000000..4367cb57
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredActivityNodeItemProvider.java
@@ -0,0 +1,819 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StructuredActivityNodeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StructuredActivityNode;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuredActivityNode} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StructuredActivityNodeItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNodeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addElementImportPropertyDescriptor(object);
+ addPackageImportPropertyDescriptor(object);
+ addOwnedRulePropertyDescriptor(object);
+ addMemberPropertyDescriptor(object);
+ addImportedMemberPropertyDescriptor(object);
+ addOwnedMemberPropertyDescriptor(object);
+ addSubgroupPropertyDescriptor(object);
+ addSuperGroupPropertyDescriptor(object);
+ addContainedNodePropertyDescriptor(object);
+ addInActivityPropertyDescriptor(object);
+ addContainedEdgePropertyDescriptor(object);
+ addVariablePropertyDescriptor(object);
+ addNodePropertyDescriptor(object);
+ addMustIsolatePropertyDescriptor(object);
+ addEdgePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Element Import feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addElementImportPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_elementImport_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_elementImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_ElementImport(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Package Import feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPackageImportPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_packageImport_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_packageImport_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_PackageImport(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Rule feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedRulePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_ownedRule_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedRule_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_OwnedRule(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_member_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_member_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_Member(), false, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Imported Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addImportedMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_importedMember_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_importedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_ImportedMember(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Namespace_ownedMember_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Namespace_ownedMember_feature", "_UI_Namespace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getNamespace_OwnedMember(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Subgroup feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubgroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_subgroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_subgroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_Subgroup(), false, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Super Group feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSuperGroupPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_superGroup_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_superGroup_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_SuperGroup(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Contained Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainedNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_containedNode_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedNode_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_ContainedNode(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the In Activity feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addInActivityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_inActivity_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_inActivity_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_InActivity(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Contained Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainedEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ActivityGroup_containedEdge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ActivityGroup_containedEdge_feature", "_UI_ActivityGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getActivityGroup_ContainedEdge(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Variable feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVariablePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredActivityNode_variable_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_variable_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredActivityNode_Variable(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredActivityNode_node_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_node_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredActivityNode_Node(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Must Isolate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMustIsolatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredActivityNode_mustIsolate_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_mustIsolate_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredActivityNode_MustIsolate(),
+ true, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredActivityNode_edge_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredActivityNode_edge_feature", "_UI_StructuredActivityNode_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredActivityNode_Edge(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getNamespace_ElementImport());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getNamespace_PackageImport());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getNamespace_OwnedRule());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Variable());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Edge());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns StructuredActivityNode.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/StructuredActivityNode"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StructuredActivityNode) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StructuredActivityNode_type") : //$NON-NLS-1$
+ getString("_UI_StructuredActivityNode_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StructuredActivityNode.class)) {
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT :
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT :
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__VARIABLE :
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
+ case UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_ElementImport(), UMLFactory.eINSTANCE
+ .createElementImport()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_PackageImport(), UMLFactory.eINSTANCE
+ .createPackageImport()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_PackageImport(), UMLFactory.eINSTANCE
+ .createProfileApplication()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getNamespace_OwnedRule(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Variable(), UMLFactory.eINSTANCE
+ .createVariable()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createStructuredActivityNode()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createCreateObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createDestroyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createTestIdentityAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadSelfAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createClearStructuralFeatureAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createRemoveStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createAddStructuralFeatureValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createCreateLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createDestroyLinkAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createClearAssociationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createBroadcastSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createSendObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createValueSpecificationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createTimeObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createDurationObservationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createOpaqueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createSendSignalAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createCallOperationAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createCallBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createClearVariableAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createAddVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createRemoveVariableValueAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createRaiseExceptionAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadExtentAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReclassifyObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadIsClassifiedObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createStartClassifierBehaviorAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReadLinkObjectEndQualifierAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createCreateLinkObjectAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createAcceptEventAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createAcceptCallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createReplyAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createUnmarshallAction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createInitialNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createActivityParameterNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createForkNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createFlowFinalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createCentralBufferNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createMergeNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createDecisionNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createActivityFinalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createJoinNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createDataStoreNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createSequenceNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createConditionalNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createLoopNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createExpansionNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Node(), UMLFactory.eINSTANCE
+ .createExpansionRegion()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Edge(), UMLFactory.eINSTANCE
+ .createActivityEdge()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Edge(), UMLFactory.eINSTANCE
+ .createControlFlow()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredActivityNode_Edge(), UMLFactory.eINSTANCE
+ .createObjectFlow()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE.getNamespace_OwnedRule();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredClassifierItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredClassifierItemProvider.java
new file mode 100644
index 00000000..438f2901
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/StructuredClassifierItemProvider.java
@@ -0,0 +1,288 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: StructuredClassifierItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.StructuredClassifier} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StructuredClassifierItemProvider
+ extends ClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredClassifierItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnedAttributePropertyDescriptor(object);
+ addPartPropertyDescriptor(object);
+ addRolePropertyDescriptor(object);
+ addOwnedConnectorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedAttributePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_ownedAttribute_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedAttribute_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_OwnedAttribute(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Part feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPartPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_part_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_part_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_Part(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Role feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRolePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_role_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_role_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_Role(), false,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Connector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedConnectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StructuredClassifier_ownedConnector_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_StructuredClassifier_ownedConnector_feature", "_UI_StructuredClassifier_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getStructuredClassifier_OwnedConnector(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedConnector());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((StructuredClassifier) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_StructuredClassifier_type") : //$NON-NLS-1$
+ getString("_UI_StructuredClassifier_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StructuredClassifier.class)) {
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE :
+ case UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedAttribute(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getStructuredClassifier_OwnedConnector(), UMLFactory.eINSTANCE
+ .createConnector()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SubstitutionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SubstitutionItemProvider.java
new file mode 100644
index 00000000..f26f8e9d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/SubstitutionItemProvider.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: SubstitutionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.Substitution;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Substitution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SubstitutionItemProvider
+ extends RealizationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SubstitutionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addContractPropertyDescriptor(object);
+ addSubstitutingClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Contract feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContractPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Substitution_contract_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Substitution_contract_feature", "_UI_Substitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSubstitution_Contract(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Substituting Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubstitutingClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Substitution_substitutingClassifier_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Substitution_substitutingClassifier_feature", "_UI_Substitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getSubstitution_SubstitutingClassifier(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns Substitution.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Substitution"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Substitution) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Substitution_type") : //$NON-NLS-1$
+ getString("_UI_Substitution_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getSubstitution_Contract()}, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getSubstitution_SubstitutingClassifier()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getDependency_Supplier()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getSubstitution_Contract()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getDependency_Client()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getSubstitution_SubstitutingClassifier()}, value,
+ collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE.getSubstitution_Contract()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Supplier()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getSubstitution_SubstitutingClassifier()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getDependency_Client()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateBindingItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateBindingItemProvider.java
new file mode 100644
index 00000000..a3eb0b6d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateBindingItemProvider.java
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TemplateBindingItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateBinding} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TemplateBindingItemProvider
+ extends DirectedRelationshipItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBindingItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSignaturePropertyDescriptor(object);
+ addParameterSubstitutionPropertyDescriptor(object);
+ addBoundElementPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateBinding_signature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateBinding_signature_feature", "_UI_TemplateBinding_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateBinding_Signature(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Parameter Substitution feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameterSubstitutionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateBinding_parameterSubstitution_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateBinding_parameterSubstitution_feature", "_UI_TemplateBinding_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateBinding_ParameterSubstitution(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Bound Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBoundElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateBinding_boundElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateBinding_boundElement_feature", "_UI_TemplateBinding_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateBinding_BoundElement(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateBinding_ParameterSubstitution());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns TemplateBinding.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TemplateBinding"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_TemplateBinding_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TemplateBinding.class)) {
+ case UMLPackage.TEMPLATE_BINDING__PARAMETER_SUBSTITUTION :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateBinding_ParameterSubstitution(), UMLFactory.eINSTANCE
+ .createTemplateParameterSubstitution()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterItemProvider.java
new file mode 100644
index 00000000..f877291e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterItemProvider.java
@@ -0,0 +1,963 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TemplateParameterItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetSetCommand;
+import org.eclipse.uml2.common.edit.command.SupersetSetCommand;
+
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TemplateParameterItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameterItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSignaturePropertyDescriptor(object);
+ addOwnedParameteredElementPropertyDescriptor(object);
+ addDefaultPropertyDescriptor(object);
+ addOwnedDefaultPropertyDescriptor(object);
+ addParameteredElementPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameter_signature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_signature_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateParameter_Signature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Parametered Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedParameteredElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameter_ownedParameteredElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_ownedParameteredElement_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Default feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDefaultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameter_default_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_default_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateParameter_Default(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Default feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedDefaultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameter_ownedDefault_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_ownedDefault_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateParameter_OwnedDefault(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Parametered Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameteredElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameter_parameteredElement_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameter_parameteredElement_feature", "_UI_TemplateParameter_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateParameter_ParameteredElement(),
+ true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns TemplateParameter.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TemplateParameter"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_TemplateParameter_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TemplateParameter.class)) {
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
+ case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDependency()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createPackage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createProfile()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createStereotype()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createGeneralizationSet()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createUseCase()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createAbstraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createSubstitution()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDeploymentSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createManifestation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createOperation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDataType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInterface()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createSignal()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createAssociation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createCollaboration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createExtension()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createExtensionEnd()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInstanceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createEnumeration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createEnumerationLiteral()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createPrimitiveType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createActor()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createUsage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createExecutionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createCreationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDestructionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createSendOperationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createSendSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createCallEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createChangeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createAnyReceiveEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInformationItem()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createInformationFlow()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createModel()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createComponentRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createComponent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createExecutionEnvironment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createCommunicationPath()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createTimeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement(),
+ UMLFactory.eINSTANCE.createAssociationClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDependency()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createPackage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createProfile()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createStereotype()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createGeneralizationSet()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createUseCase()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createAbstraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createSubstitution()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDeploymentSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createManifestation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createOperation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDataType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInterface()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createSignal()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createAssociation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createCollaboration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createExtension()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createExtensionEnd()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInstanceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createEnumeration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createEnumerationLiteral()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createPrimitiveType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createActor()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createUsage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createExecutionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createCreationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDestructionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createSendOperationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createSendSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createCallEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createChangeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createAnyReceiveEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInformationItem()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createInformationFlow()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createModel()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createComponentRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createComponent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createExecutionEnvironment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createCommunicationPath()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createTimeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault(), UMLFactory.eINSTANCE
+ .createAssociationClass()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement()
+ || childFeature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameter_ParameteredElement()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getTemplateParameter_OwnedDefault()) {
+ return new SubsetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameter_Default()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateParameter_ParameteredElement()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedParameteredElement()}, value);
+ }
+ if (feature == UMLPackage.eINSTANCE.getTemplateParameter_Default()) {
+ return new SupersetSetCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameter_OwnedDefault()}, value);
+ }
+ return super.createSetCommand(domain, owner, feature, value);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterSubstitutionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterSubstitutionItemProvider.java
new file mode 100644
index 00000000..84ab782f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateParameterSubstitutionItemProvider.java
@@ -0,0 +1,625 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TemplateParameterSubstitutionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateParameterSubstitution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TemplateParameterSubstitutionItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateParameterSubstitutionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addFormalPropertyDescriptor(object);
+ addActualPropertyDescriptor(object);
+ addOwnedActualPropertyDescriptor(object);
+ addTemplateBindingPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Formal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFormalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameterSubstitution_formal_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_formal_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateParameterSubstitution_Formal(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Actual feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addActualPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameterSubstitution_actual_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_actual_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateParameterSubstitution_Actual(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Actual feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedActualPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameterSubstitution_ownedActual_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_ownedActual_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Template Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateParameterSubstitution_templateBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateParameterSubstitution_templateBinding_feature", "_UI_TemplateParameterSubstitution_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_TemplateBinding(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns TemplateParameterSubstitution.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/TemplateParameterSubstitution"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_TemplateParameterSubstitution_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TemplateParameterSubstitution.class)) {
+ case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDependency()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createPackage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createProfile()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createClass()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createStereotype()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createGeneralizationSet()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createUseCase()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createAbstraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createSubstitution()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createProperty()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDeployment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createArtifact()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDeploymentSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createManifestation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createOperation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDataType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInterface()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createSignal()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createPort()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createAssociation()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createCollaboration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInterfaceRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createExtension()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createExtensionEnd()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInstanceSpecification()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createEnumeration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createEnumerationLiteral()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createPrimitiveType()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createActor()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createUsage()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createExecutionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createCreationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDestructionEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createSendOperationEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createSendSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createCallEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createChangeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createSignalEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createAnyReceiveEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createIntervalConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInformationItem()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createInformationFlow()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createModel()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createComponentRealization()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createComponent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createNode()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createDevice()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createExecutionEnvironment()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createCommunicationPath()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createTimeEvent()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual(),
+ UMLFactory.eINSTANCE.createAssociationClass()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_Actual()}, collection,
+ index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_Actual()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual()},
+ collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_Actual()}, value,
+ collection);
+ }
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_Actual()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateParameterSubstitution_OwnedActual()}, value,
+ collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateSignatureItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateSignatureItemProvider.java
new file mode 100644
index 00000000..f05ee956
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateSignatureItemProvider.java
@@ -0,0 +1,299 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TemplateSignatureItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.common.edit.command.SubsetAddCommand;
+import org.eclipse.uml2.common.edit.command.SubsetReplaceCommand;
+import org.eclipse.uml2.common.edit.command.SupersetRemoveCommand;
+import org.eclipse.uml2.common.edit.command.SupersetReplaceCommand;
+
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateSignature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TemplateSignatureItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateSignatureItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addParameterPropertyDescriptor(object);
+ addTemplatePropertyDescriptor(object);
+ addOwnedParameterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateSignature_parameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_parameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateSignature_Parameter(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Template feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateSignature_template_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_template_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateSignature_Template(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateSignature_ownedParameter_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateSignature_ownedParameter_feature", "_UI_TemplateSignature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateSignature_OwnedParameter(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns TemplateSignature.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TemplateSignature"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_TemplateSignature_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TemplateSignature.class)) {
+ case UMLPackage.TEMPLATE_SIGNATURE__OWNED_PARAMETER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createTemplateParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createOperationTemplateParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createConnectableElementTemplateParameter()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter(), UMLFactory.eINSTANCE
+ .createClassifierTemplateParameter()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createAddCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection, int index) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()) {
+ return new SubsetAddCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_Parameter()}, collection, index);
+ }
+ return super
+ .createAddCommand(domain, owner, feature, collection, index);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createRemoveCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) {
+ return new SupersetRemoveCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()}, collection);
+ }
+ return super.createRemoveCommand(domain, owner, feature, collection);
+ }
+
+ /**
+ * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Command createReplaceCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, EObject value, Collection collection) {
+ if (feature == UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()) {
+ return new SubsetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_Parameter()}, value, collection);
+ }
+ if (feature == UMLPackage.eINSTANCE.getTemplateSignature_Parameter()) {
+ return new SupersetReplaceCommand(domain, owner, feature,
+ new EStructuralFeature[]{UMLPackage.eINSTANCE
+ .getTemplateSignature_OwnedParameter()}, value, collection);
+ }
+ return super.createReplaceCommand(domain, owner, feature, value,
+ collection);
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateableElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateableElementItemProvider.java
new file mode 100644
index 00000000..ba569684
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TemplateableElementItemProvider.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TemplateableElementItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TemplateableElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TemplateableElementItemProvider
+ extends ElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateableElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTemplateBindingPropertyDescriptor(object);
+ addOwnedTemplateSignaturePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Template Binding feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTemplateBindingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_templateBinding_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_templateBinding_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTemplateableElement_TemplateBinding(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Owned Template Signature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnedTemplateSignaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TemplateableElement_ownedTemplateSignature_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TemplateableElement_ownedTemplateSignature_feature", "_UI_TemplateableElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_TemplateableElement_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TemplateableElement.class)) {
+ case UMLPackage.TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING :
+ case UMLPackage.TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_TemplateBinding(), UMLFactory.eINSTANCE
+ .createTemplateBinding()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createTemplateSignature()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature(),
+ UMLFactory.eINSTANCE.createRedefinableTemplateSignature()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TestIdentityActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TestIdentityActionItemProvider.java
new file mode 100644
index 00000000..bf8b44a0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TestIdentityActionItemProvider.java
@@ -0,0 +1,294 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TestIdentityActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.TestIdentityAction;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TestIdentityAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TestIdentityActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestIdentityActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addFirstPropertyDescriptor(object);
+ addSecondPropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the First feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFirstPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TestIdentityAction_first_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TestIdentityAction_first_feature", "_UI_TestIdentityAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTestIdentityAction_First(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Second feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSecondPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TestIdentityAction_second_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TestIdentityAction_second_feature", "_UI_TestIdentityAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTestIdentityAction_Second(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TestIdentityAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TestIdentityAction_result_feature", "_UI_TestIdentityAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTestIdentityAction_Result(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTestIdentityAction_First());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTestIdentityAction_Second());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getTestIdentityAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns TestIdentityAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TestIdentityAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((TestIdentityAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_TestIdentityAction_type") : //$NON-NLS-1$
+ getString("_UI_TestIdentityAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TestIdentityAction.class)) {
+ case UMLPackage.TEST_IDENTITY_ACTION__FIRST :
+ case UMLPackage.TEST_IDENTITY_ACTION__SECOND :
+ case UMLPackage.TEST_IDENTITY_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTestIdentityAction_First(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTestIdentityAction_First(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTestIdentityAction_First(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTestIdentityAction_Second(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTestIdentityAction_Second(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTestIdentityAction_Second(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTestIdentityAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getTestIdentityAction_First()
+ || childFeature == UMLPackage.eINSTANCE
+ .getTestIdentityAction_Second();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeConstraintItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeConstraintItemProvider.java
new file mode 100644
index 00000000..03963374
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeConstraintItemProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TimeConstraintItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.TimeConstraint;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeConstraint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimeConstraintItemProvider
+ extends IntervalConstraintItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeConstraintItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns TimeConstraint.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TimeConstraint"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((TimeConstraint) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_TimeConstraint_type") : //$NON-NLS-1$
+ getString("_UI_TimeConstraint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getConstraint_Specification();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeEventItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeEventItemProvider.java
new file mode 100644
index 00000000..e5d7208e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeEventItemProvider.java
@@ -0,0 +1,267 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TimeEventItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.TimeEvent;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimeEventItemProvider
+ extends EventItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsRelativePropertyDescriptor(object);
+ addWhenPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Relative feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsRelativePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TimeEvent_isRelative_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TimeEvent_isRelative_feature", "_UI_TimeEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTimeEvent_IsRelative(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the When feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addWhenPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TimeEvent_when_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TimeEvent_when_feature", "_UI_TimeEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTimeEvent_When(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getTimeEvent_When());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns TimeEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TimeEvent"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((TimeEvent) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_TimeEvent_type") : //$NON-NLS-1$
+ getString("_UI_TimeEvent_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TimeEvent.class)) {
+ case UMLPackage.TIME_EVENT__IS_RELATIVE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.TIME_EVENT__WHEN :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getTimeEvent_When(),
+ UMLFactory.eINSTANCE.createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getTimeEvent_When(),
+ UMLFactory.eINSTANCE.createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getTimeEvent_When(),
+ UMLFactory.eINSTANCE.createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTimeEvent_When(), UMLFactory.eINSTANCE.createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getTimeEvent_When();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeExpressionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeExpressionItemProvider.java
new file mode 100644
index 00000000..24844ad3
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeExpressionItemProvider.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TimeExpressionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.TimeExpression;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimeExpressionItemProvider
+ extends ValueSpecificationItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeExpressionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addFirstTimePropertyDescriptor(object);
+ addEventPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the First Time feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFirstTimePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TimeExpression_firstTime_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TimeExpression_firstTime_feature", "_UI_TimeExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTimeExpression_FirstTime(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Event feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEventPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TimeExpression_event_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TimeExpression_event_feature", "_UI_TimeExpression_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTimeExpression_Event(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns TimeExpression.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TimeExpression"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((TimeExpression) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_TimeExpression_type") : //$NON-NLS-1$
+ getString("_UI_TimeExpression_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TimeExpression.class)) {
+ case UMLPackage.TIME_EXPRESSION__FIRST_TIME :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeIntervalItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeIntervalItemProvider.java
new file mode 100644
index 00000000..79d5cf8a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeIntervalItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TimeIntervalItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.TimeInterval;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeInterval} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimeIntervalItemProvider
+ extends IntervalItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeIntervalItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns TimeInterval.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/TimeInterval"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((TimeInterval) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_TimeInterval_type") : //$NON-NLS-1$
+ getString("_UI_TimeInterval_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeObservationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeObservationActionItemProvider.java
new file mode 100644
index 00000000..e1862265
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TimeObservationActionItemProvider.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TimeObservationActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.TimeObservationAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TimeObservationAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimeObservationActionItemProvider
+ extends WriteStructuralFeatureActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeObservationActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNowPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Now feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNowPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TimeObservationAction_now_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TimeObservationAction_now_feature", "_UI_TimeObservationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTimeObservationAction_Now(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns TimeObservationAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator()
+ .getImage("full/obj16/TimeObservationAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((TimeObservationAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_TimeObservationAction_type") : //$NON-NLS-1$
+ getString("_UI_TimeObservationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object()
+ || childFeature == UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TransitionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TransitionItemProvider.java
new file mode 100644
index 00000000..f0ad8fef
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TransitionItemProvider.java
@@ -0,0 +1,388 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TransitionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Transition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TransitionItemProvider
+ extends RedefinableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TransitionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addKindPropertyDescriptor(object);
+ addContainerPropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ addRedefinedTransitionPropertyDescriptor(object);
+ addGuardPropertyDescriptor(object);
+ addEffectPropertyDescriptor(object);
+ addTriggerPropertyDescriptor(object);
+ addSourcePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Kind feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_kind_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_kind_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_Kind(), true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Container feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_container_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_container_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_Container(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_target_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_target_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_Target(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Redefined Transition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRedefinedTransitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_redefinedTransition_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_redefinedTransition_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_RedefinedTransition(), true,
+ null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Guard feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGuardPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_guard_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_guard_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_Guard(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Effect feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEffectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_effect_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_effect_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_Effect(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Trigger feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTriggerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_trigger_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_trigger_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_Trigger(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Source feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Transition_source_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Transition_source_feature", "_UI_Transition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTransition_Source(), true, null, null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getTransition_Guard());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getTransition_Effect());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getTransition_Trigger());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Transition.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Transition"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Transition) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Transition_type") : //$NON-NLS-1$
+ getString("_UI_Transition_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Transition.class)) {
+ case UMLPackage.TRANSITION__KIND :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.TRANSITION__GUARD :
+ case UMLPackage.TRANSITION__EFFECT :
+ case UMLPackage.TRANSITION__TRIGGER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Guard(), UMLFactory.eINSTANCE.createConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Guard(), UMLFactory.eINSTANCE
+ .createInteractionConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Guard(), UMLFactory.eINSTANCE
+ .createIntervalConstraint()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Guard(), UMLFactory.eINSTANCE
+ .createTimeConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Guard(), UMLFactory.eINSTANCE
+ .createDurationConstraint()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Effect(), UMLFactory.eINSTANCE.createBehavior()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Effect(), UMLFactory.eINSTANCE
+ .createStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Effect(), UMLFactory.eINSTANCE
+ .createProtocolStateMachine()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Effect(), UMLFactory.eINSTANCE
+ .createOpaqueBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Effect(), UMLFactory.eINSTANCE
+ .createFunctionBehavior()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Effect(), UMLFactory.eINSTANCE.createInteraction()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Effect(), UMLFactory.eINSTANCE.createActivity()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getTransition_Trigger(), UMLFactory.eINSTANCE.createTrigger()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TriggerItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TriggerItemProvider.java
new file mode 100644
index 00000000..01e7d8fe
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TriggerItemProvider.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TriggerItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Trigger} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TriggerItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TriggerItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addEventPropertyDescriptor(object);
+ addPortPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Event feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEventPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Trigger_event_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Trigger_event_feature", "_UI_Trigger_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTrigger_Event(), true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Trigger_port_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Trigger_port_feature", "_UI_Trigger_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTrigger_Port(), true, null, null, null));
+ }
+
+ /**
+ * This returns Trigger.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Trigger"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Trigger) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Trigger_type") : //$NON-NLS-1$
+ getString("_UI_Trigger_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypeItemProvider.java
new file mode 100644
index 00000000..6f0eb62f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypeItemProvider.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TypeItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Type} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TypeItemProvider
+ extends PackageableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addPackagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Type_package_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Type_package_feature", "_UI_Type_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getType_Package(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Type) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Type_type") : //$NON-NLS-1$
+ getString("_UI_Type_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypedElementItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypedElementItemProvider.java
new file mode 100644
index 00000000..01793f2a
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/TypedElementItemProvider.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: TypedElementItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.TypedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.TypedElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TypedElementItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTypePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((TypedElement) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_TypedElement_type") : //$NON-NLS-1$
+ getString("_UI_TypedElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UMLItemProviderAdapterFactory.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UMLItemProviderAdapterFactory.java
new file mode 100644
index 00000000..19e278e6
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UMLItemProviderAdapterFactory.java
@@ -0,0 +1,5000 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UMLItemProviderAdapterFactory.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.util.UMLAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLItemProviderAdapterFactory
+ extends UMLAdapterFactory
+ implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection supportedTypes = new ArrayList();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Comment} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommentItemProvider commentItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Comment}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCommentAdapter() {
+ if (commentItemProvider == null) {
+ commentItemProvider = new CommentItemProvider(this);
+ }
+
+ return commentItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Dependency} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DependencyItemProvider dependencyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Dependency}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDependencyAdapter() {
+ if (dependencyItemProvider == null) {
+ dependencyItemProvider = new DependencyItemProvider(this);
+ }
+
+ return dependencyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateParameter} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateParameterItemProvider templateParameterItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateParameter}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTemplateParameterAdapter() {
+ if (templateParameterItemProvider == null) {
+ templateParameterItemProvider = new TemplateParameterItemProvider(
+ this);
+ }
+
+ return templateParameterItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateSignature} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateSignatureItemProvider templateSignatureItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateSignature}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTemplateSignatureAdapter() {
+ if (templateSignatureItemProvider == null) {
+ templateSignatureItemProvider = new TemplateSignatureItemProvider(
+ this);
+ }
+
+ return templateSignatureItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateBinding} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateBindingItemProvider templateBindingItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateBinding}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTemplateBindingAdapter() {
+ if (templateBindingItemProvider == null) {
+ templateBindingItemProvider = new TemplateBindingItemProvider(this);
+ }
+
+ return templateBindingItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TemplateParameterSubstitution} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateParameterSubstitutionItemProvider templateParameterSubstitutionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TemplateParameterSubstitution}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTemplateParameterSubstitutionAdapter() {
+ if (templateParameterSubstitutionItemProvider == null) {
+ templateParameterSubstitutionItemProvider = new TemplateParameterSubstitutionItemProvider(
+ this);
+ }
+
+ return templateParameterSubstitutionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ElementImport} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementImportItemProvider elementImportItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ElementImport}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createElementImportAdapter() {
+ if (elementImportItemProvider == null) {
+ elementImportItemProvider = new ElementImportItemProvider(this);
+ }
+
+ return elementImportItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PackageImport} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageImportItemProvider packageImportItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.PackageImport}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPackageImportAdapter() {
+ if (packageImportItemProvider == null) {
+ packageImportItemProvider = new PackageImportItemProvider(this);
+ }
+
+ return packageImportItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Package} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageItemProvider packageItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Package}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPackageAdapter() {
+ if (packageItemProvider == null) {
+ packageItemProvider = new PackageItemProvider(this);
+ }
+
+ return packageItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PackageMerge} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageMergeItemProvider packageMergeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.PackageMerge}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPackageMergeAdapter() {
+ if (packageMergeItemProvider == null) {
+ packageMergeItemProvider = new PackageMergeItemProvider(this);
+ }
+
+ return packageMergeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProfileApplication} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProfileApplicationItemProvider profileApplicationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ProfileApplication}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createProfileApplicationAdapter() {
+ if (profileApplicationItemProvider == null) {
+ profileApplicationItemProvider = new ProfileApplicationItemProvider(
+ this);
+ }
+
+ return profileApplicationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Profile} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProfileItemProvider profileItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Profile}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createProfileAdapter() {
+ if (profileItemProvider == null) {
+ profileItemProvider = new ProfileItemProvider(this);
+ }
+
+ return profileItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Stereotype} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypeItemProvider stereotypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Stereotype}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createStereotypeAdapter() {
+ if (stereotypeItemProvider == null) {
+ stereotypeItemProvider = new StereotypeItemProvider(this);
+ }
+
+ return stereotypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Class} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassItemProvider classItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Class}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createClassAdapter() {
+ if (classItemProvider == null) {
+ classItemProvider = new ClassItemProvider(this);
+ }
+
+ return classItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Generalization} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GeneralizationItemProvider generalizationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Generalization}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createGeneralizationAdapter() {
+ if (generalizationItemProvider == null) {
+ generalizationItemProvider = new GeneralizationItemProvider(this);
+ }
+
+ return generalizationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.GeneralizationSet} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GeneralizationSetItemProvider generalizationSetItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.GeneralizationSet}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createGeneralizationSetAdapter() {
+ if (generalizationSetItemProvider == null) {
+ generalizationSetItemProvider = new GeneralizationSetItemProvider(
+ this);
+ }
+
+ return generalizationSetItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.UseCase} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UseCaseItemProvider useCaseItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.UseCase}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createUseCaseAdapter() {
+ if (useCaseItemProvider == null) {
+ useCaseItemProvider = new UseCaseItemProvider(this);
+ }
+
+ return useCaseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Include} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IncludeItemProvider includeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Include}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createIncludeAdapter() {
+ if (includeItemProvider == null) {
+ includeItemProvider = new IncludeItemProvider(this);
+ }
+
+ return includeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Extend} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendItemProvider extendItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Extend}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExtendAdapter() {
+ if (extendItemProvider == null) {
+ extendItemProvider = new ExtendItemProvider(this);
+ }
+
+ return extendItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Constraint} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstraintItemProvider constraintItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Constraint}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createConstraintAdapter() {
+ if (constraintItemProvider == null) {
+ constraintItemProvider = new ConstraintItemProvider(this);
+ }
+
+ return constraintItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExtensionPoint} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionPointItemProvider extensionPointItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExtensionPoint}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExtensionPointAdapter() {
+ if (extensionPointItemProvider == null) {
+ extensionPointItemProvider = new ExtensionPointItemProvider(this);
+ }
+
+ return extensionPointItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Substitution} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SubstitutionItemProvider substitutionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Substitution}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSubstitutionAdapter() {
+ if (substitutionItemProvider == null) {
+ substitutionItemProvider = new SubstitutionItemProvider(this);
+ }
+
+ return substitutionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Realization} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RealizationItemProvider realizationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Realization}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createRealizationAdapter() {
+ if (realizationItemProvider == null) {
+ realizationItemProvider = new RealizationItemProvider(this);
+ }
+
+ return realizationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Abstraction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractionItemProvider abstractionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Abstraction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAbstractionAdapter() {
+ if (abstractionItemProvider == null) {
+ abstractionItemProvider = new AbstractionItemProvider(this);
+ }
+
+ return abstractionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OpaqueExpression} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpaqueExpressionItemProvider opaqueExpressionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.OpaqueExpression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createOpaqueExpressionAdapter() {
+ if (opaqueExpressionItemProvider == null) {
+ opaqueExpressionItemProvider = new OpaqueExpressionItemProvider(
+ this);
+ }
+
+ return opaqueExpressionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Parameter} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterItemProvider parameterItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Parameter}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createParameterAdapter() {
+ if (parameterItemProvider == null) {
+ parameterItemProvider = new ParameterItemProvider(this);
+ }
+
+ return parameterItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConnectorEnd} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectorEndItemProvider connectorEndItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ConnectorEnd}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createConnectorEndAdapter() {
+ if (connectorEndItemProvider == null) {
+ connectorEndItemProvider = new ConnectorEndItemProvider(this);
+ }
+
+ return connectorEndItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Property} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertyItemProvider propertyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Property}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPropertyAdapter() {
+ if (propertyItemProvider == null) {
+ propertyItemProvider = new PropertyItemProvider(this);
+ }
+
+ return propertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Deployment} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeploymentItemProvider deploymentItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Deployment}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDeploymentAdapter() {
+ if (deploymentItemProvider == null) {
+ deploymentItemProvider = new DeploymentItemProvider(this);
+ }
+
+ return deploymentItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DeploymentSpecification} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeploymentSpecificationItemProvider deploymentSpecificationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DeploymentSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDeploymentSpecificationAdapter() {
+ if (deploymentSpecificationItemProvider == null) {
+ deploymentSpecificationItemProvider = new DeploymentSpecificationItemProvider(
+ this);
+ }
+
+ return deploymentSpecificationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Artifact} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArtifactItemProvider artifactItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Artifact}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createArtifactAdapter() {
+ if (artifactItemProvider == null) {
+ artifactItemProvider = new ArtifactItemProvider(this);
+ }
+
+ return artifactItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Manifestation} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ManifestationItemProvider manifestationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Manifestation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createManifestationAdapter() {
+ if (manifestationItemProvider == null) {
+ manifestationItemProvider = new ManifestationItemProvider(this);
+ }
+
+ return manifestationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Operation} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationItemProvider operationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Operation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createOperationAdapter() {
+ if (operationItemProvider == null) {
+ operationItemProvider = new OperationItemProvider(this);
+ }
+
+ return operationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.BehavioralFeature} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BehavioralFeatureItemProvider behavioralFeatureItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createBehavioralFeatureAdapter() {
+ if (behavioralFeatureItemProvider == null) {
+ behavioralFeatureItemProvider = new BehavioralFeatureItemProvider(
+ this);
+ }
+
+ return behavioralFeatureItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Behavior} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BehaviorItemProvider behaviorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Behavior}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createBehaviorAdapter() {
+ if (behaviorItemProvider == null) {
+ behaviorItemProvider = new BehaviorItemProvider(this);
+ }
+
+ return behaviorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ParameterSet} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParameterSetItemProvider parameterSetItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ParameterSet}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createParameterSetAdapter() {
+ if (parameterSetItemProvider == null) {
+ parameterSetItemProvider = new ParameterSetItemProvider(this);
+ }
+
+ return parameterSetItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DataType} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataTypeItemProvider dataTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DataType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDataTypeAdapter() {
+ if (dataTypeItemProvider == null) {
+ dataTypeItemProvider = new DataTypeItemProvider(this);
+ }
+
+ return dataTypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Interface} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterfaceItemProvider interfaceItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Interface}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInterfaceAdapter() {
+ if (interfaceItemProvider == null) {
+ interfaceItemProvider = new InterfaceItemProvider(this);
+ }
+
+ return interfaceItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Reception} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReceptionItemProvider receptionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Reception}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReceptionAdapter() {
+ if (receptionItemProvider == null) {
+ receptionItemProvider = new ReceptionItemProvider(this);
+ }
+
+ return receptionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Signal} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SignalItemProvider signalItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Signal}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSignalAdapter() {
+ if (signalItemProvider == null) {
+ signalItemProvider = new SignalItemProvider(this);
+ }
+
+ return signalItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProtocolStateMachine} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProtocolStateMachineItemProvider protocolStateMachineItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ProtocolStateMachine}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createProtocolStateMachineAdapter() {
+ if (protocolStateMachineItemProvider == null) {
+ protocolStateMachineItemProvider = new ProtocolStateMachineItemProvider(
+ this);
+ }
+
+ return protocolStateMachineItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StateMachine} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateMachineItemProvider stateMachineItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.StateMachine}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createStateMachineAdapter() {
+ if (stateMachineItemProvider == null) {
+ stateMachineItemProvider = new StateMachineItemProvider(this);
+ }
+
+ return stateMachineItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Region} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RegionItemProvider regionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Region}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createRegionAdapter() {
+ if (regionItemProvider == null) {
+ regionItemProvider = new RegionItemProvider(this);
+ }
+
+ return regionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Transition} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransitionItemProvider transitionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Transition}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTransitionAdapter() {
+ if (transitionItemProvider == null) {
+ transitionItemProvider = new TransitionItemProvider(this);
+ }
+
+ return transitionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Trigger} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TriggerItemProvider triggerItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Trigger}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTriggerAdapter() {
+ if (triggerItemProvider == null) {
+ triggerItemProvider = new TriggerItemProvider(this);
+ }
+
+ return triggerItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Port} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PortItemProvider portItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Port}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPortAdapter() {
+ if (portItemProvider == null) {
+ portItemProvider = new PortItemProvider(this);
+ }
+
+ return portItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.State} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateItemProvider stateItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.State}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createStateAdapter() {
+ if (stateItemProvider == null) {
+ stateItemProvider = new StateItemProvider(this);
+ }
+
+ return stateItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConnectionPointReference} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectionPointReferenceItemProvider connectionPointReferenceItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ConnectionPointReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createConnectionPointReferenceAdapter() {
+ if (connectionPointReferenceItemProvider == null) {
+ connectionPointReferenceItemProvider = new ConnectionPointReferenceItemProvider(
+ this);
+ }
+
+ return connectionPointReferenceItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Pseudostate} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PseudostateItemProvider pseudostateItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Pseudostate}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPseudostateAdapter() {
+ if (pseudostateItemProvider == null) {
+ pseudostateItemProvider = new PseudostateItemProvider(this);
+ }
+
+ return pseudostateItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProtocolConformance} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProtocolConformanceItemProvider protocolConformanceItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ProtocolConformance}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createProtocolConformanceAdapter() {
+ if (protocolConformanceItemProvider == null) {
+ protocolConformanceItemProvider = new ProtocolConformanceItemProvider(
+ this);
+ }
+
+ return protocolConformanceItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OperationTemplateParameter} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationTemplateParameterItemProvider operationTemplateParameterItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.OperationTemplateParameter}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createOperationTemplateParameterAdapter() {
+ if (operationTemplateParameterItemProvider == null) {
+ operationTemplateParameterItemProvider = new OperationTemplateParameterItemProvider(
+ this);
+ }
+
+ return operationTemplateParameterItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Association} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssociationItemProvider associationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Association}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAssociationAdapter() {
+ if (associationItemProvider == null) {
+ associationItemProvider = new AssociationItemProvider(this);
+ }
+
+ return associationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConnectableElementTemplateParameter} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectableElementTemplateParameterItemProvider connectableElementTemplateParameterItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ConnectableElementTemplateParameter}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createConnectableElementTemplateParameterAdapter() {
+ if (connectableElementTemplateParameterItemProvider == null) {
+ connectableElementTemplateParameterItemProvider = new ConnectableElementTemplateParameterItemProvider(
+ this);
+ }
+
+ return connectableElementTemplateParameterItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CollaborationUse} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollaborationUseItemProvider collaborationUseItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CollaborationUse}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCollaborationUseAdapter() {
+ if (collaborationUseItemProvider == null) {
+ collaborationUseItemProvider = new CollaborationUseItemProvider(
+ this);
+ }
+
+ return collaborationUseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Collaboration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollaborationItemProvider collaborationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Collaboration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCollaborationAdapter() {
+ if (collaborationItemProvider == null) {
+ collaborationItemProvider = new CollaborationItemProvider(this);
+ }
+
+ return collaborationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Connector} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectorItemProvider connectorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Connector}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createConnectorAdapter() {
+ if (connectorItemProvider == null) {
+ connectorItemProvider = new ConnectorItemProvider(this);
+ }
+
+ return connectorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RedefinableTemplateSignature} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RedefinableTemplateSignatureItemProvider redefinableTemplateSignatureItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.RedefinableTemplateSignature}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createRedefinableTemplateSignatureAdapter() {
+ if (redefinableTemplateSignatureItemProvider == null) {
+ redefinableTemplateSignatureItemProvider = new RedefinableTemplateSignatureItemProvider(
+ this);
+ }
+
+ return redefinableTemplateSignatureItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClassifierTemplateParameter} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassifierTemplateParameterItemProvider classifierTemplateParameterItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ClassifierTemplateParameter}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createClassifierTemplateParameterAdapter() {
+ if (classifierTemplateParameterItemProvider == null) {
+ classifierTemplateParameterItemProvider = new ClassifierTemplateParameterItemProvider(
+ this);
+ }
+
+ return classifierTemplateParameterItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InterfaceRealization} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterfaceRealizationItemProvider interfaceRealizationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InterfaceRealization}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInterfaceRealizationAdapter() {
+ if (interfaceRealizationItemProvider == null) {
+ interfaceRealizationItemProvider = new InterfaceRealizationItemProvider(
+ this);
+ }
+
+ return interfaceRealizationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Extension} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionItemProvider extensionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Extension}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExtensionAdapter() {
+ if (extensionItemProvider == null) {
+ extensionItemProvider = new ExtensionItemProvider(this);
+ }
+
+ return extensionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExtensionEnd} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionEndItemProvider extensionEndItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExtensionEnd}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExtensionEndAdapter() {
+ if (extensionEndItemProvider == null) {
+ extensionEndItemProvider = new ExtensionEndItemProvider(this);
+ }
+
+ return extensionEndItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StringExpression} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringExpressionItemProvider stringExpressionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.StringExpression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createStringExpressionAdapter() {
+ if (stringExpressionItemProvider == null) {
+ stringExpressionItemProvider = new StringExpressionItemProvider(
+ this);
+ }
+
+ return stringExpressionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Expression} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionItemProvider expressionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Expression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExpressionAdapter() {
+ if (expressionItemProvider == null) {
+ expressionItemProvider = new ExpressionItemProvider(this);
+ }
+
+ return expressionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralInteger} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralIntegerItemProvider literalIntegerItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralInteger}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLiteralIntegerAdapter() {
+ if (literalIntegerItemProvider == null) {
+ literalIntegerItemProvider = new LiteralIntegerItemProvider(this);
+ }
+
+ return literalIntegerItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralString} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralStringItemProvider literalStringItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralString}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLiteralStringAdapter() {
+ if (literalStringItemProvider == null) {
+ literalStringItemProvider = new LiteralStringItemProvider(this);
+ }
+
+ return literalStringItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralBoolean} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralBooleanItemProvider literalBooleanItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralBoolean}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLiteralBooleanAdapter() {
+ if (literalBooleanItemProvider == null) {
+ literalBooleanItemProvider = new LiteralBooleanItemProvider(this);
+ }
+
+ return literalBooleanItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralNull} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralNullItemProvider literalNullItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralNull}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLiteralNullAdapter() {
+ if (literalNullItemProvider == null) {
+ literalNullItemProvider = new LiteralNullItemProvider(this);
+ }
+
+ return literalNullItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Slot} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SlotItemProvider slotItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Slot}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSlotAdapter() {
+ if (slotItemProvider == null) {
+ slotItemProvider = new SlotItemProvider(this);
+ }
+
+ return slotItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InstanceSpecification} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceSpecificationItemProvider instanceSpecificationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InstanceSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInstanceSpecificationAdapter() {
+ if (instanceSpecificationItemProvider == null) {
+ instanceSpecificationItemProvider = new InstanceSpecificationItemProvider(
+ this);
+ }
+
+ return instanceSpecificationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Enumeration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumerationItemProvider enumerationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Enumeration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createEnumerationAdapter() {
+ if (enumerationItemProvider == null) {
+ enumerationItemProvider = new EnumerationItemProvider(this);
+ }
+
+ return enumerationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.EnumerationLiteral} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumerationLiteralItemProvider enumerationLiteralItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.EnumerationLiteral}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createEnumerationLiteralAdapter() {
+ if (enumerationLiteralItemProvider == null) {
+ enumerationLiteralItemProvider = new EnumerationLiteralItemProvider(
+ this);
+ }
+
+ return enumerationLiteralItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PrimitiveType} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrimitiveTypeItemProvider primitiveTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.PrimitiveType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPrimitiveTypeAdapter() {
+ if (primitiveTypeItemProvider == null) {
+ primitiveTypeItemProvider = new PrimitiveTypeItemProvider(this);
+ }
+
+ return primitiveTypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InstanceValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceValueItemProvider instanceValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InstanceValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInstanceValueAdapter() {
+ if (instanceValueItemProvider == null) {
+ instanceValueItemProvider = new InstanceValueItemProvider(this);
+ }
+
+ return instanceValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LiteralUnlimitedNatural} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralUnlimitedNaturalItemProvider literalUnlimitedNaturalItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LiteralUnlimitedNatural}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLiteralUnlimitedNaturalAdapter() {
+ if (literalUnlimitedNaturalItemProvider == null) {
+ literalUnlimitedNaturalItemProvider = new LiteralUnlimitedNaturalItemProvider(
+ this);
+ }
+
+ return literalUnlimitedNaturalItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OpaqueBehavior} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpaqueBehaviorItemProvider opaqueBehaviorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.OpaqueBehavior}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createOpaqueBehaviorAdapter() {
+ if (opaqueBehaviorItemProvider == null) {
+ opaqueBehaviorItemProvider = new OpaqueBehaviorItemProvider(this);
+ }
+
+ return opaqueBehaviorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.FunctionBehavior} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionBehaviorItemProvider functionBehaviorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.FunctionBehavior}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createFunctionBehaviorAdapter() {
+ if (functionBehaviorItemProvider == null) {
+ functionBehaviorItemProvider = new FunctionBehaviorItemProvider(
+ this);
+ }
+
+ return functionBehaviorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Actor} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActorItemProvider actorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Actor}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActorAdapter() {
+ if (actorItemProvider == null) {
+ actorItemProvider = new ActorItemProvider(this);
+ }
+
+ return actorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Usage} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UsageItemProvider usageItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Usage}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createUsageAdapter() {
+ if (usageItemProvider == null) {
+ usageItemProvider = new UsageItemProvider(this);
+ }
+
+ return usageItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Message} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageItemProvider messageItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Message}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createMessageAdapter() {
+ if (messageItemProvider == null) {
+ messageItemProvider = new MessageItemProvider(this);
+ }
+
+ return messageItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Interaction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionItemProvider interactionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Interaction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInteractionAdapter() {
+ if (interactionItemProvider == null) {
+ interactionItemProvider = new InteractionItemProvider(this);
+ }
+
+ return interactionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Lifeline} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LifelineItemProvider lifelineItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Lifeline}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLifelineAdapter() {
+ if (lifelineItemProvider == null) {
+ lifelineItemProvider = new LifelineItemProvider(this);
+ }
+
+ return lifelineItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.PartDecomposition} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PartDecompositionItemProvider partDecompositionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.PartDecomposition}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPartDecompositionAdapter() {
+ if (partDecompositionItemProvider == null) {
+ partDecompositionItemProvider = new PartDecompositionItemProvider(
+ this);
+ }
+
+ return partDecompositionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InteractionUse} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionUseItemProvider interactionUseItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InteractionUse}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInteractionUseAdapter() {
+ if (interactionUseItemProvider == null) {
+ interactionUseItemProvider = new InteractionUseItemProvider(this);
+ }
+
+ return interactionUseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Gate} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GateItemProvider gateItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Gate}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createGateAdapter() {
+ if (gateItemProvider == null) {
+ gateItemProvider = new GateItemProvider(this);
+ }
+
+ return gateItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Action} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActionItemProvider actionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Action}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActionAdapter() {
+ if (actionItemProvider == null) {
+ actionItemProvider = new ActionItemProvider(this);
+ }
+
+ return actionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityEdge} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityEdgeItemProvider activityEdgeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityEdge}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActivityEdgeAdapter() {
+ if (activityEdgeItemProvider == null) {
+ activityEdgeItemProvider = new ActivityEdgeItemProvider(this);
+ }
+
+ return activityEdgeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Activity} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityItemProvider activityItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Activity}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActivityAdapter() {
+ if (activityItemProvider == null) {
+ activityItemProvider = new ActivityItemProvider(this);
+ }
+
+ return activityItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityPartition} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityPartitionItemProvider activityPartitionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityPartition}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActivityPartitionAdapter() {
+ if (activityPartitionItemProvider == null) {
+ activityPartitionItemProvider = new ActivityPartitionItemProvider(
+ this);
+ }
+
+ return activityPartitionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StructuredActivityNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StructuredActivityNodeItemProvider structuredActivityNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.StructuredActivityNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createStructuredActivityNodeAdapter() {
+ if (structuredActivityNodeItemProvider == null) {
+ structuredActivityNodeItemProvider = new StructuredActivityNodeItemProvider(
+ this);
+ }
+
+ return structuredActivityNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Variable} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariableItemProvider variableItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Variable}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createVariableAdapter() {
+ if (variableItemProvider == null) {
+ variableItemProvider = new VariableItemProvider(this);
+ }
+
+ return variableItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InterruptibleActivityRegion} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterruptibleActivityRegionItemProvider interruptibleActivityRegionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InterruptibleActivityRegion}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInterruptibleActivityRegionAdapter() {
+ if (interruptibleActivityRegionItemProvider == null) {
+ interruptibleActivityRegionItemProvider = new InterruptibleActivityRegionItemProvider(
+ this);
+ }
+
+ return interruptibleActivityRegionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExceptionHandler} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExceptionHandlerItemProvider exceptionHandlerItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExceptionHandler}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExceptionHandlerAdapter() {
+ if (exceptionHandlerItemProvider == null) {
+ exceptionHandlerItemProvider = new ExceptionHandlerItemProvider(
+ this);
+ }
+
+ return exceptionHandlerItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OutputPin} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OutputPinItemProvider outputPinItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.OutputPin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createOutputPinAdapter() {
+ if (outputPinItemProvider == null) {
+ outputPinItemProvider = new OutputPinItemProvider(this);
+ }
+
+ return outputPinItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Pin} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PinItemProvider pinItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Pin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createPinAdapter() {
+ if (pinItemProvider == null) {
+ pinItemProvider = new PinItemProvider(this);
+ }
+
+ return pinItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InputPin} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InputPinItemProvider inputPinItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InputPin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInputPinAdapter() {
+ if (inputPinItemProvider == null) {
+ inputPinItemProvider = new InputPinItemProvider(this);
+ }
+
+ return inputPinItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.GeneralOrdering} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GeneralOrderingItemProvider generalOrderingItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.GeneralOrdering}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createGeneralOrderingAdapter() {
+ if (generalOrderingItemProvider == null) {
+ generalOrderingItemProvider = new GeneralOrderingItemProvider(this);
+ }
+
+ return generalOrderingItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InteractionOperand} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionOperandItemProvider interactionOperandItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InteractionOperand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInteractionOperandAdapter() {
+ if (interactionOperandItemProvider == null) {
+ interactionOperandItemProvider = new InteractionOperandItemProvider(
+ this);
+ }
+
+ return interactionOperandItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InteractionConstraint} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionConstraintItemProvider interactionConstraintItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InteractionConstraint}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInteractionConstraintAdapter() {
+ if (interactionConstraintItemProvider == null) {
+ interactionConstraintItemProvider = new InteractionConstraintItemProvider(
+ this);
+ }
+
+ return interactionConstraintItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExecutionOccurrenceSpecification} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutionOccurrenceSpecificationItemProvider executionOccurrenceSpecificationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExecutionOccurrenceSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExecutionOccurrenceSpecificationAdapter() {
+ if (executionOccurrenceSpecificationItemProvider == null) {
+ executionOccurrenceSpecificationItemProvider = new ExecutionOccurrenceSpecificationItemProvider(
+ this);
+ }
+
+ return executionOccurrenceSpecificationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExecutionEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutionEventItemProvider executionEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExecutionEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExecutionEventAdapter() {
+ if (executionEventItemProvider == null) {
+ executionEventItemProvider = new ExecutionEventItemProvider(this);
+ }
+
+ return executionEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StateInvariant} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateInvariantItemProvider stateInvariantItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.StateInvariant}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createStateInvariantAdapter() {
+ if (stateInvariantItemProvider == null) {
+ stateInvariantItemProvider = new StateInvariantItemProvider(this);
+ }
+
+ return stateInvariantItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActionExecutionSpecification} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActionExecutionSpecificationItemProvider actionExecutionSpecificationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ActionExecutionSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActionExecutionSpecificationAdapter() {
+ if (actionExecutionSpecificationItemProvider == null) {
+ actionExecutionSpecificationItemProvider = new ActionExecutionSpecificationItemProvider(
+ this);
+ }
+
+ return actionExecutionSpecificationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.BehaviorExecutionSpecification} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BehaviorExecutionSpecificationItemProvider behaviorExecutionSpecificationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.BehaviorExecutionSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createBehaviorExecutionSpecificationAdapter() {
+ if (behaviorExecutionSpecificationItemProvider == null) {
+ behaviorExecutionSpecificationItemProvider = new BehaviorExecutionSpecificationItemProvider(
+ this);
+ }
+
+ return behaviorExecutionSpecificationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreationEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreationEventItemProvider creationEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CreationEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCreationEventAdapter() {
+ if (creationEventItemProvider == null) {
+ creationEventItemProvider = new CreationEventItemProvider(this);
+ }
+
+ return creationEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DestructionEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DestructionEventItemProvider destructionEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DestructionEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDestructionEventAdapter() {
+ if (destructionEventItemProvider == null) {
+ destructionEventItemProvider = new DestructionEventItemProvider(
+ this);
+ }
+
+ return destructionEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendOperationEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendOperationEventItemProvider sendOperationEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.SendOperationEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSendOperationEventAdapter() {
+ if (sendOperationEventItemProvider == null) {
+ sendOperationEventItemProvider = new SendOperationEventItemProvider(
+ this);
+ }
+
+ return sendOperationEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendSignalEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendSignalEventItemProvider sendSignalEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.SendSignalEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSendSignalEventAdapter() {
+ if (sendSignalEventItemProvider == null) {
+ sendSignalEventItemProvider = new SendSignalEventItemProvider(this);
+ }
+
+ return sendSignalEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.MessageOccurrenceSpecification} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageOccurrenceSpecificationItemProvider messageOccurrenceSpecificationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.MessageOccurrenceSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createMessageOccurrenceSpecificationAdapter() {
+ if (messageOccurrenceSpecificationItemProvider == null) {
+ messageOccurrenceSpecificationItemProvider = new MessageOccurrenceSpecificationItemProvider(
+ this);
+ }
+
+ return messageOccurrenceSpecificationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CombinedFragment} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CombinedFragmentItemProvider combinedFragmentItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CombinedFragment}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCombinedFragmentAdapter() {
+ if (combinedFragmentItemProvider == null) {
+ combinedFragmentItemProvider = new CombinedFragmentItemProvider(
+ this);
+ }
+
+ return combinedFragmentItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Continuation} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContinuationItemProvider continuationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Continuation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createContinuationAdapter() {
+ if (continuationItemProvider == null) {
+ continuationItemProvider = new ContinuationItemProvider(this);
+ }
+
+ return continuationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConsiderIgnoreFragment} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConsiderIgnoreFragmentItemProvider considerIgnoreFragmentItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ConsiderIgnoreFragment}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createConsiderIgnoreFragmentAdapter() {
+ if (considerIgnoreFragmentItemProvider == null) {
+ considerIgnoreFragmentItemProvider = new ConsiderIgnoreFragmentItemProvider(
+ this);
+ }
+
+ return considerIgnoreFragmentItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CallEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallEventItemProvider callEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CallEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCallEventAdapter() {
+ if (callEventItemProvider == null) {
+ callEventItemProvider = new CallEventItemProvider(this);
+ }
+
+ return callEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ChangeEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ChangeEventItemProvider changeEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ChangeEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createChangeEventAdapter() {
+ if (changeEventItemProvider == null) {
+ changeEventItemProvider = new ChangeEventItemProvider(this);
+ }
+
+ return changeEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SignalEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SignalEventItemProvider signalEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.SignalEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSignalEventAdapter() {
+ if (signalEventItemProvider == null) {
+ signalEventItemProvider = new SignalEventItemProvider(this);
+ }
+
+ return signalEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AnyReceiveEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnyReceiveEventItemProvider anyReceiveEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.AnyReceiveEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAnyReceiveEventAdapter() {
+ if (anyReceiveEventItemProvider == null) {
+ anyReceiveEventItemProvider = new AnyReceiveEventItemProvider(this);
+ }
+
+ return anyReceiveEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreateObjectAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateObjectActionItemProvider createObjectActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CreateObjectAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCreateObjectActionAdapter() {
+ if (createObjectActionItemProvider == null) {
+ createObjectActionItemProvider = new CreateObjectActionItemProvider(
+ this);
+ }
+
+ return createObjectActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DestroyObjectAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DestroyObjectActionItemProvider destroyObjectActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DestroyObjectAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDestroyObjectActionAdapter() {
+ if (destroyObjectActionItemProvider == null) {
+ destroyObjectActionItemProvider = new DestroyObjectActionItemProvider(
+ this);
+ }
+
+ return destroyObjectActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TestIdentityAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestIdentityActionItemProvider testIdentityActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TestIdentityAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTestIdentityActionAdapter() {
+ if (testIdentityActionItemProvider == null) {
+ testIdentityActionItemProvider = new TestIdentityActionItemProvider(
+ this);
+ }
+
+ return testIdentityActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadSelfAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadSelfActionItemProvider readSelfActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadSelfAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadSelfActionAdapter() {
+ if (readSelfActionItemProvider == null) {
+ readSelfActionItemProvider = new ReadSelfActionItemProvider(this);
+ }
+
+ return readSelfActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadStructuralFeatureAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadStructuralFeatureActionItemProvider readStructuralFeatureActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadStructuralFeatureAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadStructuralFeatureActionAdapter() {
+ if (readStructuralFeatureActionItemProvider == null) {
+ readStructuralFeatureActionItemProvider = new ReadStructuralFeatureActionItemProvider(
+ this);
+ }
+
+ return readStructuralFeatureActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClearStructuralFeatureAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClearStructuralFeatureActionItemProvider clearStructuralFeatureActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ClearStructuralFeatureAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createClearStructuralFeatureActionAdapter() {
+ if (clearStructuralFeatureActionItemProvider == null) {
+ clearStructuralFeatureActionItemProvider = new ClearStructuralFeatureActionItemProvider(
+ this);
+ }
+
+ return clearStructuralFeatureActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RemoveStructuralFeatureValueActionItemProvider removeStructuralFeatureValueActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createRemoveStructuralFeatureValueActionAdapter() {
+ if (removeStructuralFeatureValueActionItemProvider == null) {
+ removeStructuralFeatureValueActionItemProvider = new RemoveStructuralFeatureValueActionItemProvider(
+ this);
+ }
+
+ return removeStructuralFeatureValueActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddStructuralFeatureValueActionItemProvider addStructuralFeatureValueActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAddStructuralFeatureValueActionAdapter() {
+ if (addStructuralFeatureValueActionItemProvider == null) {
+ addStructuralFeatureValueActionItemProvider = new AddStructuralFeatureValueActionItemProvider(
+ this);
+ }
+
+ return addStructuralFeatureValueActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LinkEndData} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkEndDataItemProvider linkEndDataItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LinkEndData}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLinkEndDataAdapter() {
+ if (linkEndDataItemProvider == null) {
+ linkEndDataItemProvider = new LinkEndDataItemProvider(this);
+ }
+
+ return linkEndDataItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.QualifierValue} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QualifierValueItemProvider qualifierValueItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.QualifierValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createQualifierValueAdapter() {
+ if (qualifierValueItemProvider == null) {
+ qualifierValueItemProvider = new QualifierValueItemProvider(this);
+ }
+
+ return qualifierValueItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadLinkAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadLinkActionItemProvider readLinkActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadLinkAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadLinkActionAdapter() {
+ if (readLinkActionItemProvider == null) {
+ readLinkActionItemProvider = new ReadLinkActionItemProvider(this);
+ }
+
+ return readLinkActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LinkEndCreationData} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkEndCreationDataItemProvider linkEndCreationDataItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LinkEndCreationData}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLinkEndCreationDataAdapter() {
+ if (linkEndCreationDataItemProvider == null) {
+ linkEndCreationDataItemProvider = new LinkEndCreationDataItemProvider(
+ this);
+ }
+
+ return linkEndCreationDataItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreateLinkAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateLinkActionItemProvider createLinkActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CreateLinkAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCreateLinkActionAdapter() {
+ if (createLinkActionItemProvider == null) {
+ createLinkActionItemProvider = new CreateLinkActionItemProvider(
+ this);
+ }
+
+ return createLinkActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DestroyLinkAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DestroyLinkActionItemProvider destroyLinkActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DestroyLinkAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDestroyLinkActionAdapter() {
+ if (destroyLinkActionItemProvider == null) {
+ destroyLinkActionItemProvider = new DestroyLinkActionItemProvider(
+ this);
+ }
+
+ return destroyLinkActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LinkEndDestructionData} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkEndDestructionDataItemProvider linkEndDestructionDataItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LinkEndDestructionData}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLinkEndDestructionDataAdapter() {
+ if (linkEndDestructionDataItemProvider == null) {
+ linkEndDestructionDataItemProvider = new LinkEndDestructionDataItemProvider(
+ this);
+ }
+
+ return linkEndDestructionDataItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClearAssociationAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClearAssociationActionItemProvider clearAssociationActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ClearAssociationAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createClearAssociationActionAdapter() {
+ if (clearAssociationActionItemProvider == null) {
+ clearAssociationActionItemProvider = new ClearAssociationActionItemProvider(
+ this);
+ }
+
+ return clearAssociationActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.BroadcastSignalAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BroadcastSignalActionItemProvider broadcastSignalActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.BroadcastSignalAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createBroadcastSignalActionAdapter() {
+ if (broadcastSignalActionItemProvider == null) {
+ broadcastSignalActionItemProvider = new BroadcastSignalActionItemProvider(
+ this);
+ }
+
+ return broadcastSignalActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendObjectAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendObjectActionItemProvider sendObjectActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.SendObjectAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSendObjectActionAdapter() {
+ if (sendObjectActionItemProvider == null) {
+ sendObjectActionItemProvider = new SendObjectActionItemProvider(
+ this);
+ }
+
+ return sendObjectActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ValueSpecificationAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ValueSpecificationActionItemProvider valueSpecificationActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ValueSpecificationAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createValueSpecificationActionAdapter() {
+ if (valueSpecificationActionItemProvider == null) {
+ valueSpecificationActionItemProvider = new ValueSpecificationActionItemProvider(
+ this);
+ }
+
+ return valueSpecificationActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeExpression} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeExpressionItemProvider timeExpressionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeExpression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTimeExpressionAdapter() {
+ if (timeExpressionItemProvider == null) {
+ timeExpressionItemProvider = new TimeExpressionItemProvider(this);
+ }
+
+ return timeExpressionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Duration} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationItemProvider durationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Duration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDurationAdapter() {
+ if (durationItemProvider == null) {
+ durationItemProvider = new DurationItemProvider(this);
+ }
+
+ return durationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeObservationAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeObservationActionItemProvider timeObservationActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeObservationAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTimeObservationActionAdapter() {
+ if (timeObservationActionItemProvider == null) {
+ timeObservationActionItemProvider = new TimeObservationActionItemProvider(
+ this);
+ }
+
+ return timeObservationActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ValuePin} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ValuePinItemProvider valuePinItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ValuePin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createValuePinAdapter() {
+ if (valuePinItemProvider == null) {
+ valuePinItemProvider = new ValuePinItemProvider(this);
+ }
+
+ return valuePinItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DurationInterval} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationIntervalItemProvider durationIntervalItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DurationInterval}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDurationIntervalAdapter() {
+ if (durationIntervalItemProvider == null) {
+ durationIntervalItemProvider = new DurationIntervalItemProvider(
+ this);
+ }
+
+ return durationIntervalItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Interval} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntervalItemProvider intervalItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Interval}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createIntervalAdapter() {
+ if (intervalItemProvider == null) {
+ intervalItemProvider = new IntervalItemProvider(this);
+ }
+
+ return intervalItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeConstraint} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeConstraintItemProvider timeConstraintItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeConstraint}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTimeConstraintAdapter() {
+ if (timeConstraintItemProvider == null) {
+ timeConstraintItemProvider = new TimeConstraintItemProvider(this);
+ }
+
+ return timeConstraintItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.IntervalConstraint} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntervalConstraintItemProvider intervalConstraintItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.IntervalConstraint}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createIntervalConstraintAdapter() {
+ if (intervalConstraintItemProvider == null) {
+ intervalConstraintItemProvider = new IntervalConstraintItemProvider(
+ this);
+ }
+
+ return intervalConstraintItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeInterval} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeIntervalItemProvider timeIntervalItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeInterval}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTimeIntervalAdapter() {
+ if (timeIntervalItemProvider == null) {
+ timeIntervalItemProvider = new TimeIntervalItemProvider(this);
+ }
+
+ return timeIntervalItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DurationObservationAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationObservationActionItemProvider durationObservationActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DurationObservationAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDurationObservationActionAdapter() {
+ if (durationObservationActionItemProvider == null) {
+ durationObservationActionItemProvider = new DurationObservationActionItemProvider(
+ this);
+ }
+
+ return durationObservationActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DurationConstraint} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DurationConstraintItemProvider durationConstraintItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DurationConstraint}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDurationConstraintAdapter() {
+ if (durationConstraintItemProvider == null) {
+ durationConstraintItemProvider = new DurationConstraintItemProvider(
+ this);
+ }
+
+ return durationConstraintItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.OpaqueAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OpaqueActionItemProvider opaqueActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.OpaqueAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createOpaqueActionAdapter() {
+ if (opaqueActionItemProvider == null) {
+ opaqueActionItemProvider = new OpaqueActionItemProvider(this);
+ }
+
+ return opaqueActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SendSignalAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendSignalActionItemProvider sendSignalActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.SendSignalAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSendSignalActionAdapter() {
+ if (sendSignalActionItemProvider == null) {
+ sendSignalActionItemProvider = new SendSignalActionItemProvider(
+ this);
+ }
+
+ return sendSignalActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CallOperationAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallOperationActionItemProvider callOperationActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CallOperationAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCallOperationActionAdapter() {
+ if (callOperationActionItemProvider == null) {
+ callOperationActionItemProvider = new CallOperationActionItemProvider(
+ this);
+ }
+
+ return callOperationActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CallBehaviorAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallBehaviorActionItemProvider callBehaviorActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CallBehaviorAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCallBehaviorActionAdapter() {
+ if (callBehaviorActionItemProvider == null) {
+ callBehaviorActionItemProvider = new CallBehaviorActionItemProvider(
+ this);
+ }
+
+ return callBehaviorActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InformationItem} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InformationItemItemProvider informationItemItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InformationItem}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInformationItemAdapter() {
+ if (informationItemItemProvider == null) {
+ informationItemItemProvider = new InformationItemItemProvider(this);
+ }
+
+ return informationItemItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InformationFlow} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InformationFlowItemProvider informationFlowItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InformationFlow}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInformationFlowAdapter() {
+ if (informationFlowItemProvider == null) {
+ informationFlowItemProvider = new InformationFlowItemProvider(this);
+ }
+
+ return informationFlowItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Model} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModelItemProvider modelItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Model}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createModelAdapter() {
+ if (modelItemProvider == null) {
+ modelItemProvider = new ModelItemProvider(this);
+ }
+
+ return modelItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadVariableAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadVariableActionItemProvider readVariableActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadVariableAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadVariableActionAdapter() {
+ if (readVariableActionItemProvider == null) {
+ readVariableActionItemProvider = new ReadVariableActionItemProvider(
+ this);
+ }
+
+ return readVariableActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ClearVariableAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClearVariableActionItemProvider clearVariableActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ClearVariableAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createClearVariableActionAdapter() {
+ if (clearVariableActionItemProvider == null) {
+ clearVariableActionItemProvider = new ClearVariableActionItemProvider(
+ this);
+ }
+
+ return clearVariableActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AddVariableValueAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddVariableValueActionItemProvider addVariableValueActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.AddVariableValueAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAddVariableValueActionAdapter() {
+ if (addVariableValueActionItemProvider == null) {
+ addVariableValueActionItemProvider = new AddVariableValueActionItemProvider(
+ this);
+ }
+
+ return addVariableValueActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RemoveVariableValueAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RemoveVariableValueActionItemProvider removeVariableValueActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.RemoveVariableValueAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createRemoveVariableValueActionAdapter() {
+ if (removeVariableValueActionItemProvider == null) {
+ removeVariableValueActionItemProvider = new RemoveVariableValueActionItemProvider(
+ this);
+ }
+
+ return removeVariableValueActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.RaiseExceptionAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RaiseExceptionActionItemProvider raiseExceptionActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.RaiseExceptionAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createRaiseExceptionActionAdapter() {
+ if (raiseExceptionActionItemProvider == null) {
+ raiseExceptionActionItemProvider = new RaiseExceptionActionItemProvider(
+ this);
+ }
+
+ return raiseExceptionActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActionInputPin} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActionInputPinItemProvider actionInputPinItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ActionInputPin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActionInputPinAdapter() {
+ if (actionInputPinItemProvider == null) {
+ actionInputPinItemProvider = new ActionInputPinItemProvider(this);
+ }
+
+ return actionInputPinItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadExtentAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadExtentActionItemProvider readExtentActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadExtentAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadExtentActionAdapter() {
+ if (readExtentActionItemProvider == null) {
+ readExtentActionItemProvider = new ReadExtentActionItemProvider(
+ this);
+ }
+
+ return readExtentActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReclassifyObjectAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReclassifyObjectActionItemProvider reclassifyObjectActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReclassifyObjectAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReclassifyObjectActionAdapter() {
+ if (reclassifyObjectActionItemProvider == null) {
+ reclassifyObjectActionItemProvider = new ReclassifyObjectActionItemProvider(
+ this);
+ }
+
+ return reclassifyObjectActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadIsClassifiedObjectAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadIsClassifiedObjectActionItemProvider readIsClassifiedObjectActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadIsClassifiedObjectAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadIsClassifiedObjectActionAdapter() {
+ if (readIsClassifiedObjectActionItemProvider == null) {
+ readIsClassifiedObjectActionItemProvider = new ReadIsClassifiedObjectActionItemProvider(
+ this);
+ }
+
+ return readIsClassifiedObjectActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.StartClassifierBehaviorAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StartClassifierBehaviorActionItemProvider startClassifierBehaviorActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.StartClassifierBehaviorAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createStartClassifierBehaviorActionAdapter() {
+ if (startClassifierBehaviorActionItemProvider == null) {
+ startClassifierBehaviorActionItemProvider = new StartClassifierBehaviorActionItemProvider(
+ this);
+ }
+
+ return startClassifierBehaviorActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadLinkObjectEndAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadLinkObjectEndActionItemProvider readLinkObjectEndActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadLinkObjectEndActionAdapter() {
+ if (readLinkObjectEndActionItemProvider == null) {
+ readLinkObjectEndActionItemProvider = new ReadLinkObjectEndActionItemProvider(
+ this);
+ }
+
+ return readLinkObjectEndActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReadLinkObjectEndQualifierActionItemProvider readLinkObjectEndQualifierActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReadLinkObjectEndQualifierActionAdapter() {
+ if (readLinkObjectEndQualifierActionItemProvider == null) {
+ readLinkObjectEndQualifierActionItemProvider = new ReadLinkObjectEndQualifierActionItemProvider(
+ this);
+ }
+
+ return readLinkObjectEndQualifierActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CreateLinkObjectAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateLinkObjectActionItemProvider createLinkObjectActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CreateLinkObjectAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCreateLinkObjectActionAdapter() {
+ if (createLinkObjectActionItemProvider == null) {
+ createLinkObjectActionItemProvider = new CreateLinkObjectActionItemProvider(
+ this);
+ }
+
+ return createLinkObjectActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AcceptEventAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptEventActionItemProvider acceptEventActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.AcceptEventAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAcceptEventActionAdapter() {
+ if (acceptEventActionItemProvider == null) {
+ acceptEventActionItemProvider = new AcceptEventActionItemProvider(
+ this);
+ }
+
+ return acceptEventActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AcceptCallAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptCallActionItemProvider acceptCallActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.AcceptCallAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAcceptCallActionAdapter() {
+ if (acceptCallActionItemProvider == null) {
+ acceptCallActionItemProvider = new AcceptCallActionItemProvider(
+ this);
+ }
+
+ return acceptCallActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ReplyAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReplyActionItemProvider replyActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ReplyAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createReplyActionAdapter() {
+ if (replyActionItemProvider == null) {
+ replyActionItemProvider = new ReplyActionItemProvider(this);
+ }
+
+ return replyActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.UnmarshallAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnmarshallActionItemProvider unmarshallActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.UnmarshallAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createUnmarshallActionAdapter() {
+ if (unmarshallActionItemProvider == null) {
+ unmarshallActionItemProvider = new UnmarshallActionItemProvider(
+ this);
+ }
+
+ return unmarshallActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ControlFlow} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ControlFlowItemProvider controlFlowItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ControlFlow}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createControlFlowAdapter() {
+ if (controlFlowItemProvider == null) {
+ controlFlowItemProvider = new ControlFlowItemProvider(this);
+ }
+
+ return controlFlowItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.InitialNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InitialNodeItemProvider initialNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.InitialNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createInitialNodeAdapter() {
+ if (initialNodeItemProvider == null) {
+ initialNodeItemProvider = new InitialNodeItemProvider(this);
+ }
+
+ return initialNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityParameterNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityParameterNodeItemProvider activityParameterNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityParameterNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActivityParameterNodeAdapter() {
+ if (activityParameterNodeItemProvider == null) {
+ activityParameterNodeItemProvider = new ActivityParameterNodeItemProvider(
+ this);
+ }
+
+ return activityParameterNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ForkNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ForkNodeItemProvider forkNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ForkNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createForkNodeAdapter() {
+ if (forkNodeItemProvider == null) {
+ forkNodeItemProvider = new ForkNodeItemProvider(this);
+ }
+
+ return forkNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.FlowFinalNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowFinalNodeItemProvider flowFinalNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.FlowFinalNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createFlowFinalNodeAdapter() {
+ if (flowFinalNodeItemProvider == null) {
+ flowFinalNodeItemProvider = new FlowFinalNodeItemProvider(this);
+ }
+
+ return flowFinalNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CentralBufferNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CentralBufferNodeItemProvider centralBufferNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CentralBufferNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCentralBufferNodeAdapter() {
+ if (centralBufferNodeItemProvider == null) {
+ centralBufferNodeItemProvider = new CentralBufferNodeItemProvider(
+ this);
+ }
+
+ return centralBufferNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.MergeNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MergeNodeItemProvider mergeNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.MergeNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createMergeNodeAdapter() {
+ if (mergeNodeItemProvider == null) {
+ mergeNodeItemProvider = new MergeNodeItemProvider(this);
+ }
+
+ return mergeNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DecisionNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DecisionNodeItemProvider decisionNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DecisionNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDecisionNodeAdapter() {
+ if (decisionNodeItemProvider == null) {
+ decisionNodeItemProvider = new DecisionNodeItemProvider(this);
+ }
+
+ return decisionNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ActivityFinalNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivityFinalNodeItemProvider activityFinalNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ActivityFinalNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createActivityFinalNodeAdapter() {
+ if (activityFinalNodeItemProvider == null) {
+ activityFinalNodeItemProvider = new ActivityFinalNodeItemProvider(
+ this);
+ }
+
+ return activityFinalNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.JoinNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected JoinNodeItemProvider joinNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.JoinNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createJoinNodeAdapter() {
+ if (joinNodeItemProvider == null) {
+ joinNodeItemProvider = new JoinNodeItemProvider(this);
+ }
+
+ return joinNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.DataStoreNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataStoreNodeItemProvider dataStoreNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.DataStoreNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDataStoreNodeAdapter() {
+ if (dataStoreNodeItemProvider == null) {
+ dataStoreNodeItemProvider = new DataStoreNodeItemProvider(this);
+ }
+
+ return dataStoreNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ObjectFlow} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectFlowItemProvider objectFlowItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ObjectFlow}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createObjectFlowAdapter() {
+ if (objectFlowItemProvider == null) {
+ objectFlowItemProvider = new ObjectFlowItemProvider(this);
+ }
+
+ return objectFlowItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.SequenceNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceNodeItemProvider sequenceNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.SequenceNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createSequenceNodeAdapter() {
+ if (sequenceNodeItemProvider == null) {
+ sequenceNodeItemProvider = new SequenceNodeItemProvider(this);
+ }
+
+ return sequenceNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ConditionalNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConditionalNodeItemProvider conditionalNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ConditionalNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createConditionalNodeAdapter() {
+ if (conditionalNodeItemProvider == null) {
+ conditionalNodeItemProvider = new ConditionalNodeItemProvider(this);
+ }
+
+ return conditionalNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Clause} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClauseItemProvider clauseItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Clause}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createClauseAdapter() {
+ if (clauseItemProvider == null) {
+ clauseItemProvider = new ClauseItemProvider(this);
+ }
+
+ return clauseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.LoopNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LoopNodeItemProvider loopNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.LoopNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createLoopNodeAdapter() {
+ if (loopNodeItemProvider == null) {
+ loopNodeItemProvider = new LoopNodeItemProvider(this);
+ }
+
+ return loopNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExpansionNode} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpansionNodeItemProvider expansionNodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExpansionNode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExpansionNodeAdapter() {
+ if (expansionNodeItemProvider == null) {
+ expansionNodeItemProvider = new ExpansionNodeItemProvider(this);
+ }
+
+ return expansionNodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExpansionRegion} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpansionRegionItemProvider expansionRegionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExpansionRegion}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExpansionRegionAdapter() {
+ if (expansionRegionItemProvider == null) {
+ expansionRegionItemProvider = new ExpansionRegionItemProvider(this);
+ }
+
+ return expansionRegionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ComponentRealization} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentRealizationItemProvider componentRealizationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ComponentRealization}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createComponentRealizationAdapter() {
+ if (componentRealizationItemProvider == null) {
+ componentRealizationItemProvider = new ComponentRealizationItemProvider(
+ this);
+ }
+
+ return componentRealizationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Component} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentItemProvider componentItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Component}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createComponentAdapter() {
+ if (componentItemProvider == null) {
+ componentItemProvider = new ComponentItemProvider(this);
+ }
+
+ return componentItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Node} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NodeItemProvider nodeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Node}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createNodeAdapter() {
+ if (nodeItemProvider == null) {
+ nodeItemProvider = new NodeItemProvider(this);
+ }
+
+ return nodeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.Device} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeviceItemProvider deviceItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.Device}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createDeviceAdapter() {
+ if (deviceItemProvider == null) {
+ deviceItemProvider = new DeviceItemProvider(this);
+ }
+
+ return deviceItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ExecutionEnvironment} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutionEnvironmentItemProvider executionEnvironmentItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ExecutionEnvironment}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createExecutionEnvironmentAdapter() {
+ if (executionEnvironmentItemProvider == null) {
+ executionEnvironmentItemProvider = new ExecutionEnvironmentItemProvider(
+ this);
+ }
+
+ return executionEnvironmentItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.CommunicationPath} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommunicationPathItemProvider communicationPathItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.CommunicationPath}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCommunicationPathAdapter() {
+ if (communicationPathItemProvider == null) {
+ communicationPathItemProvider = new CommunicationPathItemProvider(
+ this);
+ }
+
+ return communicationPathItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.FinalState} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FinalStateItemProvider finalStateItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.FinalState}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createFinalStateAdapter() {
+ if (finalStateItemProvider == null) {
+ finalStateItemProvider = new FinalStateItemProvider(this);
+ }
+
+ return finalStateItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.TimeEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeEventItemProvider timeEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.TimeEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createTimeEventAdapter() {
+ if (timeEventItemProvider == null) {
+ timeEventItemProvider = new TimeEventItemProvider(this);
+ }
+
+ return timeEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.ProtocolTransition} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProtocolTransitionItemProvider protocolTransitionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.ProtocolTransition}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createProtocolTransitionAdapter() {
+ if (protocolTransitionItemProvider == null) {
+ protocolTransitionItemProvider = new ProtocolTransitionItemProvider(
+ this);
+ }
+
+ return protocolTransitionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.uml2.uml.AssociationClass} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssociationClassItemProvider associationClassItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.uml2.uml.AssociationClass}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createAssociationClassAdapter() {
+ if (associationClassItemProvider == null) {
+ associationClassItemProvider = new AssociationClassItemProvider(
+ this);
+ }
+
+ return associationClassItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null
+ ? this
+ : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentAdapterFactory(
+ ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class)
+ || (((Class) type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose() {
+ if (commentItemProvider != null)
+ commentItemProvider.dispose();
+ if (dependencyItemProvider != null)
+ dependencyItemProvider.dispose();
+ if (templateParameterItemProvider != null)
+ templateParameterItemProvider.dispose();
+ if (templateSignatureItemProvider != null)
+ templateSignatureItemProvider.dispose();
+ if (templateBindingItemProvider != null)
+ templateBindingItemProvider.dispose();
+ if (templateParameterSubstitutionItemProvider != null)
+ templateParameterSubstitutionItemProvider.dispose();
+ if (elementImportItemProvider != null)
+ elementImportItemProvider.dispose();
+ if (packageImportItemProvider != null)
+ packageImportItemProvider.dispose();
+ if (packageItemProvider != null)
+ packageItemProvider.dispose();
+ if (packageMergeItemProvider != null)
+ packageMergeItemProvider.dispose();
+ if (profileApplicationItemProvider != null)
+ profileApplicationItemProvider.dispose();
+ if (profileItemProvider != null)
+ profileItemProvider.dispose();
+ if (stereotypeItemProvider != null)
+ stereotypeItemProvider.dispose();
+ if (classItemProvider != null)
+ classItemProvider.dispose();
+ if (generalizationItemProvider != null)
+ generalizationItemProvider.dispose();
+ if (generalizationSetItemProvider != null)
+ generalizationSetItemProvider.dispose();
+ if (useCaseItemProvider != null)
+ useCaseItemProvider.dispose();
+ if (includeItemProvider != null)
+ includeItemProvider.dispose();
+ if (extendItemProvider != null)
+ extendItemProvider.dispose();
+ if (constraintItemProvider != null)
+ constraintItemProvider.dispose();
+ if (extensionPointItemProvider != null)
+ extensionPointItemProvider.dispose();
+ if (substitutionItemProvider != null)
+ substitutionItemProvider.dispose();
+ if (realizationItemProvider != null)
+ realizationItemProvider.dispose();
+ if (abstractionItemProvider != null)
+ abstractionItemProvider.dispose();
+ if (opaqueExpressionItemProvider != null)
+ opaqueExpressionItemProvider.dispose();
+ if (parameterItemProvider != null)
+ parameterItemProvider.dispose();
+ if (connectorEndItemProvider != null)
+ connectorEndItemProvider.dispose();
+ if (propertyItemProvider != null)
+ propertyItemProvider.dispose();
+ if (deploymentItemProvider != null)
+ deploymentItemProvider.dispose();
+ if (deploymentSpecificationItemProvider != null)
+ deploymentSpecificationItemProvider.dispose();
+ if (artifactItemProvider != null)
+ artifactItemProvider.dispose();
+ if (manifestationItemProvider != null)
+ manifestationItemProvider.dispose();
+ if (operationItemProvider != null)
+ operationItemProvider.dispose();
+ if (behavioralFeatureItemProvider != null)
+ behavioralFeatureItemProvider.dispose();
+ if (behaviorItemProvider != null)
+ behaviorItemProvider.dispose();
+ if (parameterSetItemProvider != null)
+ parameterSetItemProvider.dispose();
+ if (dataTypeItemProvider != null)
+ dataTypeItemProvider.dispose();
+ if (interfaceItemProvider != null)
+ interfaceItemProvider.dispose();
+ if (receptionItemProvider != null)
+ receptionItemProvider.dispose();
+ if (signalItemProvider != null)
+ signalItemProvider.dispose();
+ if (protocolStateMachineItemProvider != null)
+ protocolStateMachineItemProvider.dispose();
+ if (stateMachineItemProvider != null)
+ stateMachineItemProvider.dispose();
+ if (regionItemProvider != null)
+ regionItemProvider.dispose();
+ if (transitionItemProvider != null)
+ transitionItemProvider.dispose();
+ if (triggerItemProvider != null)
+ triggerItemProvider.dispose();
+ if (portItemProvider != null)
+ portItemProvider.dispose();
+ if (stateItemProvider != null)
+ stateItemProvider.dispose();
+ if (connectionPointReferenceItemProvider != null)
+ connectionPointReferenceItemProvider.dispose();
+ if (pseudostateItemProvider != null)
+ pseudostateItemProvider.dispose();
+ if (protocolConformanceItemProvider != null)
+ protocolConformanceItemProvider.dispose();
+ if (operationTemplateParameterItemProvider != null)
+ operationTemplateParameterItemProvider.dispose();
+ if (associationItemProvider != null)
+ associationItemProvider.dispose();
+ if (connectableElementTemplateParameterItemProvider != null)
+ connectableElementTemplateParameterItemProvider.dispose();
+ if (collaborationUseItemProvider != null)
+ collaborationUseItemProvider.dispose();
+ if (collaborationItemProvider != null)
+ collaborationItemProvider.dispose();
+ if (connectorItemProvider != null)
+ connectorItemProvider.dispose();
+ if (redefinableTemplateSignatureItemProvider != null)
+ redefinableTemplateSignatureItemProvider.dispose();
+ if (classifierTemplateParameterItemProvider != null)
+ classifierTemplateParameterItemProvider.dispose();
+ if (interfaceRealizationItemProvider != null)
+ interfaceRealizationItemProvider.dispose();
+ if (extensionItemProvider != null)
+ extensionItemProvider.dispose();
+ if (extensionEndItemProvider != null)
+ extensionEndItemProvider.dispose();
+ if (stringExpressionItemProvider != null)
+ stringExpressionItemProvider.dispose();
+ if (expressionItemProvider != null)
+ expressionItemProvider.dispose();
+ if (literalIntegerItemProvider != null)
+ literalIntegerItemProvider.dispose();
+ if (literalStringItemProvider != null)
+ literalStringItemProvider.dispose();
+ if (literalBooleanItemProvider != null)
+ literalBooleanItemProvider.dispose();
+ if (literalNullItemProvider != null)
+ literalNullItemProvider.dispose();
+ if (slotItemProvider != null)
+ slotItemProvider.dispose();
+ if (instanceSpecificationItemProvider != null)
+ instanceSpecificationItemProvider.dispose();
+ if (enumerationItemProvider != null)
+ enumerationItemProvider.dispose();
+ if (enumerationLiteralItemProvider != null)
+ enumerationLiteralItemProvider.dispose();
+ if (primitiveTypeItemProvider != null)
+ primitiveTypeItemProvider.dispose();
+ if (instanceValueItemProvider != null)
+ instanceValueItemProvider.dispose();
+ if (literalUnlimitedNaturalItemProvider != null)
+ literalUnlimitedNaturalItemProvider.dispose();
+ if (opaqueBehaviorItemProvider != null)
+ opaqueBehaviorItemProvider.dispose();
+ if (functionBehaviorItemProvider != null)
+ functionBehaviorItemProvider.dispose();
+ if (actorItemProvider != null)
+ actorItemProvider.dispose();
+ if (usageItemProvider != null)
+ usageItemProvider.dispose();
+ if (messageItemProvider != null)
+ messageItemProvider.dispose();
+ if (interactionItemProvider != null)
+ interactionItemProvider.dispose();
+ if (lifelineItemProvider != null)
+ lifelineItemProvider.dispose();
+ if (partDecompositionItemProvider != null)
+ partDecompositionItemProvider.dispose();
+ if (interactionUseItemProvider != null)
+ interactionUseItemProvider.dispose();
+ if (gateItemProvider != null)
+ gateItemProvider.dispose();
+ if (actionItemProvider != null)
+ actionItemProvider.dispose();
+ if (activityEdgeItemProvider != null)
+ activityEdgeItemProvider.dispose();
+ if (activityItemProvider != null)
+ activityItemProvider.dispose();
+ if (activityPartitionItemProvider != null)
+ activityPartitionItemProvider.dispose();
+ if (structuredActivityNodeItemProvider != null)
+ structuredActivityNodeItemProvider.dispose();
+ if (variableItemProvider != null)
+ variableItemProvider.dispose();
+ if (interruptibleActivityRegionItemProvider != null)
+ interruptibleActivityRegionItemProvider.dispose();
+ if (exceptionHandlerItemProvider != null)
+ exceptionHandlerItemProvider.dispose();
+ if (outputPinItemProvider != null)
+ outputPinItemProvider.dispose();
+ if (pinItemProvider != null)
+ pinItemProvider.dispose();
+ if (inputPinItemProvider != null)
+ inputPinItemProvider.dispose();
+ if (generalOrderingItemProvider != null)
+ generalOrderingItemProvider.dispose();
+ if (interactionOperandItemProvider != null)
+ interactionOperandItemProvider.dispose();
+ if (interactionConstraintItemProvider != null)
+ interactionConstraintItemProvider.dispose();
+ if (executionOccurrenceSpecificationItemProvider != null)
+ executionOccurrenceSpecificationItemProvider.dispose();
+ if (executionEventItemProvider != null)
+ executionEventItemProvider.dispose();
+ if (stateInvariantItemProvider != null)
+ stateInvariantItemProvider.dispose();
+ if (actionExecutionSpecificationItemProvider != null)
+ actionExecutionSpecificationItemProvider.dispose();
+ if (behaviorExecutionSpecificationItemProvider != null)
+ behaviorExecutionSpecificationItemProvider.dispose();
+ if (creationEventItemProvider != null)
+ creationEventItemProvider.dispose();
+ if (destructionEventItemProvider != null)
+ destructionEventItemProvider.dispose();
+ if (sendOperationEventItemProvider != null)
+ sendOperationEventItemProvider.dispose();
+ if (sendSignalEventItemProvider != null)
+ sendSignalEventItemProvider.dispose();
+ if (messageOccurrenceSpecificationItemProvider != null)
+ messageOccurrenceSpecificationItemProvider.dispose();
+ if (combinedFragmentItemProvider != null)
+ combinedFragmentItemProvider.dispose();
+ if (continuationItemProvider != null)
+ continuationItemProvider.dispose();
+ if (considerIgnoreFragmentItemProvider != null)
+ considerIgnoreFragmentItemProvider.dispose();
+ if (callEventItemProvider != null)
+ callEventItemProvider.dispose();
+ if (changeEventItemProvider != null)
+ changeEventItemProvider.dispose();
+ if (signalEventItemProvider != null)
+ signalEventItemProvider.dispose();
+ if (anyReceiveEventItemProvider != null)
+ anyReceiveEventItemProvider.dispose();
+ if (createObjectActionItemProvider != null)
+ createObjectActionItemProvider.dispose();
+ if (destroyObjectActionItemProvider != null)
+ destroyObjectActionItemProvider.dispose();
+ if (testIdentityActionItemProvider != null)
+ testIdentityActionItemProvider.dispose();
+ if (readSelfActionItemProvider != null)
+ readSelfActionItemProvider.dispose();
+ if (readStructuralFeatureActionItemProvider != null)
+ readStructuralFeatureActionItemProvider.dispose();
+ if (clearStructuralFeatureActionItemProvider != null)
+ clearStructuralFeatureActionItemProvider.dispose();
+ if (removeStructuralFeatureValueActionItemProvider != null)
+ removeStructuralFeatureValueActionItemProvider.dispose();
+ if (addStructuralFeatureValueActionItemProvider != null)
+ addStructuralFeatureValueActionItemProvider.dispose();
+ if (linkEndDataItemProvider != null)
+ linkEndDataItemProvider.dispose();
+ if (qualifierValueItemProvider != null)
+ qualifierValueItemProvider.dispose();
+ if (readLinkActionItemProvider != null)
+ readLinkActionItemProvider.dispose();
+ if (linkEndCreationDataItemProvider != null)
+ linkEndCreationDataItemProvider.dispose();
+ if (createLinkActionItemProvider != null)
+ createLinkActionItemProvider.dispose();
+ if (destroyLinkActionItemProvider != null)
+ destroyLinkActionItemProvider.dispose();
+ if (linkEndDestructionDataItemProvider != null)
+ linkEndDestructionDataItemProvider.dispose();
+ if (clearAssociationActionItemProvider != null)
+ clearAssociationActionItemProvider.dispose();
+ if (broadcastSignalActionItemProvider != null)
+ broadcastSignalActionItemProvider.dispose();
+ if (sendObjectActionItemProvider != null)
+ sendObjectActionItemProvider.dispose();
+ if (valueSpecificationActionItemProvider != null)
+ valueSpecificationActionItemProvider.dispose();
+ if (timeExpressionItemProvider != null)
+ timeExpressionItemProvider.dispose();
+ if (durationItemProvider != null)
+ durationItemProvider.dispose();
+ if (timeObservationActionItemProvider != null)
+ timeObservationActionItemProvider.dispose();
+ if (valuePinItemProvider != null)
+ valuePinItemProvider.dispose();
+ if (durationIntervalItemProvider != null)
+ durationIntervalItemProvider.dispose();
+ if (intervalItemProvider != null)
+ intervalItemProvider.dispose();
+ if (timeConstraintItemProvider != null)
+ timeConstraintItemProvider.dispose();
+ if (intervalConstraintItemProvider != null)
+ intervalConstraintItemProvider.dispose();
+ if (timeIntervalItemProvider != null)
+ timeIntervalItemProvider.dispose();
+ if (durationObservationActionItemProvider != null)
+ durationObservationActionItemProvider.dispose();
+ if (durationConstraintItemProvider != null)
+ durationConstraintItemProvider.dispose();
+ if (opaqueActionItemProvider != null)
+ opaqueActionItemProvider.dispose();
+ if (sendSignalActionItemProvider != null)
+ sendSignalActionItemProvider.dispose();
+ if (callOperationActionItemProvider != null)
+ callOperationActionItemProvider.dispose();
+ if (callBehaviorActionItemProvider != null)
+ callBehaviorActionItemProvider.dispose();
+ if (informationItemItemProvider != null)
+ informationItemItemProvider.dispose();
+ if (informationFlowItemProvider != null)
+ informationFlowItemProvider.dispose();
+ if (modelItemProvider != null)
+ modelItemProvider.dispose();
+ if (readVariableActionItemProvider != null)
+ readVariableActionItemProvider.dispose();
+ if (clearVariableActionItemProvider != null)
+ clearVariableActionItemProvider.dispose();
+ if (addVariableValueActionItemProvider != null)
+ addVariableValueActionItemProvider.dispose();
+ if (removeVariableValueActionItemProvider != null)
+ removeVariableValueActionItemProvider.dispose();
+ if (raiseExceptionActionItemProvider != null)
+ raiseExceptionActionItemProvider.dispose();
+ if (actionInputPinItemProvider != null)
+ actionInputPinItemProvider.dispose();
+ if (readExtentActionItemProvider != null)
+ readExtentActionItemProvider.dispose();
+ if (reclassifyObjectActionItemProvider != null)
+ reclassifyObjectActionItemProvider.dispose();
+ if (readIsClassifiedObjectActionItemProvider != null)
+ readIsClassifiedObjectActionItemProvider.dispose();
+ if (startClassifierBehaviorActionItemProvider != null)
+ startClassifierBehaviorActionItemProvider.dispose();
+ if (readLinkObjectEndActionItemProvider != null)
+ readLinkObjectEndActionItemProvider.dispose();
+ if (readLinkObjectEndQualifierActionItemProvider != null)
+ readLinkObjectEndQualifierActionItemProvider.dispose();
+ if (createLinkObjectActionItemProvider != null)
+ createLinkObjectActionItemProvider.dispose();
+ if (acceptEventActionItemProvider != null)
+ acceptEventActionItemProvider.dispose();
+ if (acceptCallActionItemProvider != null)
+ acceptCallActionItemProvider.dispose();
+ if (replyActionItemProvider != null)
+ replyActionItemProvider.dispose();
+ if (unmarshallActionItemProvider != null)
+ unmarshallActionItemProvider.dispose();
+ if (controlFlowItemProvider != null)
+ controlFlowItemProvider.dispose();
+ if (initialNodeItemProvider != null)
+ initialNodeItemProvider.dispose();
+ if (activityParameterNodeItemProvider != null)
+ activityParameterNodeItemProvider.dispose();
+ if (forkNodeItemProvider != null)
+ forkNodeItemProvider.dispose();
+ if (flowFinalNodeItemProvider != null)
+ flowFinalNodeItemProvider.dispose();
+ if (centralBufferNodeItemProvider != null)
+ centralBufferNodeItemProvider.dispose();
+ if (mergeNodeItemProvider != null)
+ mergeNodeItemProvider.dispose();
+ if (decisionNodeItemProvider != null)
+ decisionNodeItemProvider.dispose();
+ if (activityFinalNodeItemProvider != null)
+ activityFinalNodeItemProvider.dispose();
+ if (joinNodeItemProvider != null)
+ joinNodeItemProvider.dispose();
+ if (dataStoreNodeItemProvider != null)
+ dataStoreNodeItemProvider.dispose();
+ if (objectFlowItemProvider != null)
+ objectFlowItemProvider.dispose();
+ if (sequenceNodeItemProvider != null)
+ sequenceNodeItemProvider.dispose();
+ if (conditionalNodeItemProvider != null)
+ conditionalNodeItemProvider.dispose();
+ if (clauseItemProvider != null)
+ clauseItemProvider.dispose();
+ if (loopNodeItemProvider != null)
+ loopNodeItemProvider.dispose();
+ if (expansionNodeItemProvider != null)
+ expansionNodeItemProvider.dispose();
+ if (expansionRegionItemProvider != null)
+ expansionRegionItemProvider.dispose();
+ if (componentRealizationItemProvider != null)
+ componentRealizationItemProvider.dispose();
+ if (componentItemProvider != null)
+ componentItemProvider.dispose();
+ if (nodeItemProvider != null)
+ nodeItemProvider.dispose();
+ if (deviceItemProvider != null)
+ deviceItemProvider.dispose();
+ if (executionEnvironmentItemProvider != null)
+ executionEnvironmentItemProvider.dispose();
+ if (communicationPathItemProvider != null)
+ communicationPathItemProvider.dispose();
+ if (finalStateItemProvider != null)
+ finalStateItemProvider.dispose();
+ if (timeEventItemProvider != null)
+ timeEventItemProvider.dispose();
+ if (protocolTransitionItemProvider != null)
+ protocolTransitionItemProvider.dispose();
+ if (associationClassItemProvider != null)
+ associationClassItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UnmarshallActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UnmarshallActionItemProvider.java
new file mode 100644
index 00000000..c3c71480
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UnmarshallActionItemProvider.java
@@ -0,0 +1,250 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UnmarshallActionItemProvider.java,v 1.1 2005/11/14 22:11:34 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UnmarshallAction;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.UnmarshallAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UnmarshallActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnmarshallActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addResultPropertyDescriptor(object);
+ addUnmarshallTypePropertyDescriptor(object);
+ addObjectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_UnmarshallAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_UnmarshallAction_result_feature", "_UI_UnmarshallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getUnmarshallAction_Result(), true, null,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Unmarshall Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUnmarshallTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_UnmarshallAction_unmarshallType_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_UnmarshallAction_unmarshallType_feature", "_UI_UnmarshallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getUnmarshallAction_UnmarshallType(),
+ true, null, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Object feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addObjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_UnmarshallAction_object_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_UnmarshallAction_object_feature", "_UI_UnmarshallAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getUnmarshallAction_Object(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getUnmarshallAction_Object());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns UnmarshallAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/UnmarshallAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((UnmarshallAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_UnmarshallAction_type") : //$NON-NLS-1$
+ getString("_UI_UnmarshallAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(UnmarshallAction.class)) {
+ case UMLPackage.UNMARSHALL_ACTION__OBJECT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getUnmarshallAction_Object(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getUnmarshallAction_Object(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getUnmarshallAction_Object(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UsageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UsageItemProvider.java
new file mode 100644
index 00000000..0bc85a86
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UsageItemProvider.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UsageItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.Usage;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Usage} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UsageItemProvider
+ extends DependencyItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UsageItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Usage.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Usage"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Usage) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Usage_type") : //$NON-NLS-1$
+ getString("_UI_Usage_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UseCaseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UseCaseItemProvider.java
new file mode 100644
index 00000000..28657578
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/UseCaseItemProvider.java
@@ -0,0 +1,288 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UseCaseItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.UseCase} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UseCaseItemProvider
+ extends BehavioredClassifierItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCaseItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIncludePropertyDescriptor(object);
+ addExtendPropertyDescriptor(object);
+ addExtensionPointPropertyDescriptor(object);
+ addSubjectPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Include feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIncludePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_UseCase_include_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_UseCase_include_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getUseCase_Include(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extend feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtendPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_UseCase_extend_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_UseCase_extend_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getUseCase_Extend(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Extension Point feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addExtensionPointPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_UseCase_extensionPoint_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_UseCase_extensionPoint_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getUseCase_ExtensionPoint(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Subject feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSubjectPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_UseCase_subject_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_UseCase_subject_feature", "_UI_UseCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getUseCase_Subject(), true, null, null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getUseCase_Include());
+ childrenFeatures.add(UMLPackage.eINSTANCE.getUseCase_Extend());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getUseCase_ExtensionPoint());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns UseCase.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/UseCase"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((UseCase) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_UseCase_type") : //$NON-NLS-1$
+ getString("_UI_UseCase_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(UseCase.class)) {
+ case UMLPackage.USE_CASE__INCLUDE :
+ case UMLPackage.USE_CASE__EXTEND :
+ case UMLPackage.USE_CASE__EXTENSION_POINT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getUseCase_Include(), UMLFactory.eINSTANCE.createInclude()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getUseCase_Extend(), UMLFactory.eINSTANCE.createExtend()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getUseCase_ExtensionPoint(), UMLFactory.eINSTANCE
+ .createExtensionPoint()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getTemplateableElement_OwnedTemplateSignature()
+ || childFeature == UMLPackage.eINSTANCE
+ .getClassifier_OwnedSignature();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValuePinItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValuePinItemProvider.java
new file mode 100644
index 00000000..43ad33ba
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValuePinItemProvider.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ValuePinItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValuePin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ValuePin} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValuePinItemProvider
+ extends InputPinItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValuePinItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ValuePin_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ValuePin_value_feature", "_UI_ValuePin_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getValuePin_Value(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE.getValuePin_Value());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns ValuePin.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/ValuePin"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ValuePin) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ValuePin_type") : //$NON-NLS-1$
+ getString("_UI_ValuePin_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ValuePin.class)) {
+ case UMLPackage.VALUE_PIN__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getValuePin_Value(),
+ UMLFactory.eINSTANCE.createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createExpression()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getValuePin_Value(),
+ UMLFactory.eINSTANCE.createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createInterval()));
+
+ newChildDescriptors
+ .add(createChildParameter(UMLPackage.eINSTANCE.getValuePin_Value(),
+ UMLFactory.eINSTANCE.createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValuePin_Value(), UMLFactory.eINSTANCE.createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE.getObjectNode_UpperBound()
+ || childFeature == UMLPackage.eINSTANCE.getValuePin_Value();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationActionItemProvider.java
new file mode 100644
index 00000000..185261fd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationActionItemProvider.java
@@ -0,0 +1,303 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ValueSpecificationActionItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecificationAction;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ValueSpecificationAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueSpecificationActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecificationActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ addResultPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ValueSpecificationAction_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ValueSpecificationAction_value_feature", "_UI_ValueSpecificationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getValueSpecificationAction_Value(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Result feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addResultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ValueSpecificationAction_result_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_ValueSpecificationAction_result_feature", "_UI_ValueSpecificationAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getValueSpecificationAction_Result(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Result());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ValueSpecificationAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage(
+ "full/obj16/ValueSpecificationAction"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ValueSpecificationAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ValueSpecificationAction_type") : //$NON-NLS-1$
+ getString("_UI_ValueSpecificationAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ValueSpecificationAction.class)) {
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__VALUE :
+ case UMLPackage.VALUE_SPECIFICATION_ACTION__RESULT :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Result(), UMLFactory.eINSTANCE
+ .createOutputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getValueSpecificationAction_Value()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationItemProvider.java
new file mode 100644
index 00000000..895ee3d2
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/ValueSpecificationItemProvider.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: ValueSpecificationItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.ValueSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueSpecificationItemProvider
+ extends PackageableElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecificationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTypePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TypedElement_type_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_TypedElement_type_feature", "_UI_TypedElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getTypedElement_Type(), true, null, null,
+ null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((ValueSpecification) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_ValueSpecification_type") : //$NON-NLS-1$
+ getString("_UI_ValueSpecification_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableActionItemProvider.java
new file mode 100644
index 00000000..3cfef0d9
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableActionItemProvider.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: VariableActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VariableAction;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.VariableAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VariableActionItemProvider
+ extends ActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addVariablePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Variable feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVariablePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_VariableAction_variable_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_VariableAction_variable_feature", "_UI_VariableAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVariableAction_Variable(), true, null,
+ null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((VariableAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_VariableAction_type") : //$NON-NLS-1$
+ getString("_UI_VariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableItemProvider.java
new file mode 100644
index 00000000..6bd8e07d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VariableItemProvider.java
@@ -0,0 +1,486 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: VariableItemProvider.java,v 1.1 2005/11/14 22:11:37 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Variable;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Variable} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VariableItemProvider
+ extends TypedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsOrderedPropertyDescriptor(object);
+ addIsUniquePropertyDescriptor(object);
+ addUpperPropertyDescriptor(object);
+ addLowerPropertyDescriptor(object);
+ addUpperValuePropertyDescriptor(object);
+ addLowerValuePropertyDescriptor(object);
+ addActivityScopePropertyDescriptor(object);
+ addScopePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Ordered feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsOrderedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isOrdered_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isOrdered_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsOrdered(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Unique feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsUniquePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_isUnique_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_isUnique_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_IsUnique(), true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upper_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upper_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Upper(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lower_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lower_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_Lower(), true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_upperValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_upperValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_UpperValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_MultiplicityElement_lowerValue_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_MultiplicityElement_lowerValue_feature", "_UI_MultiplicityElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getMultiplicityElement_LowerValue(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Activity Scope feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addActivityScopePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Variable_activityScope_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Variable_activityScope_feature", "_UI_Variable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVariable_ActivityScope(), true, null,
+ null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This adds a property descriptor for the Scope feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addScopePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Variable_scope_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Variable_scope_feature", "_UI_Variable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVariable_Scope(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue());
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Variable.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/Variable"); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Variable) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Variable_type") : //$NON-NLS-1$
+ getString("_UI_Variable_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Variable.class)) {
+ case UMLPackage.VARIABLE__IS_ORDERED :
+ case UMLPackage.VARIABLE__IS_UNIQUE :
+ case UMLPackage.VARIABLE__UPPER :
+ case UMLPackage.VARIABLE__LOWER :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), false, true));
+ return;
+ case UMLPackage.VARIABLE__UPPER_VALUE :
+ case UMLPackage.VARIABLE__LOWER_VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createOpaqueExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createStringExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralInteger()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralString()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralBoolean()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralNull()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInstanceValue()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createLiteralUnlimitedNatural()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeExpression()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDuration()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createDurationInterval()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue(), UMLFactory.eINSTANCE
+ .createTimeInterval()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getNamedElement_NameExpression()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_UpperValue()
+ || childFeature == UMLPackage.eINSTANCE
+ .getMultiplicityElement_LowerValue();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VertexItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VertexItemProvider.java
new file mode 100644
index 00000000..7e081a22
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/VertexItemProvider.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: VertexItemProvider.java,v 1.1 2005/11/14 22:11:33 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Vertex;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.Vertex} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VertexItemProvider
+ extends NamedElementItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VertexItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOutgoingPropertyDescriptor(object);
+ addIncomingPropertyDescriptor(object);
+ addContainerPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Outgoing feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOutgoingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Vertex_outgoing_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Vertex_outgoing_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVertex_Outgoing(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Incoming feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIncomingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Vertex_incoming_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Vertex_incoming_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVertex_Incoming(), true, null, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Container feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addContainerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Vertex_container_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_Vertex_container_feature", "_UI_Vertex_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getVertex_Container(), true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((Vertex) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_Vertex_type") : //$NON-NLS-1$
+ getString("_UI_Vertex_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteLinkActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteLinkActionItemProvider.java
new file mode 100644
index 00000000..f2810bc4
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteLinkActionItemProvider.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: WriteLinkActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.WriteLinkAction;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.WriteLinkAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WriteLinkActionItemProvider
+ extends LinkActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WriteLinkActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((WriteLinkAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_WriteLinkAction_type") : //$NON-NLS-1$
+ getString("_UI_WriteLinkAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteStructuralFeatureActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteStructuralFeatureActionItemProvider.java
new file mode 100644
index 00000000..f94ca3ca
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteStructuralFeatureActionItemProvider.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: WriteStructuralFeatureActionItemProvider.java,v 1.1 2005/11/14 22:11:35 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.WriteStructuralFeatureAction;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.WriteStructuralFeatureAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WriteStructuralFeatureActionItemProvider
+ extends StructuralFeatureActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WriteStructuralFeatureActionItemProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_WriteStructuralFeatureAction_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_WriteStructuralFeatureAction_value_feature", "_UI_WriteStructuralFeatureAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getWriteStructuralFeatureAction_Value(),
+ true, null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((WriteStructuralFeatureAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_WriteStructuralFeatureAction_type") : //$NON-NLS-1$
+ getString("_UI_WriteStructuralFeatureAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(WriteStructuralFeatureAction.class)) {
+ case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getStructuralFeatureAction_Object()
+ || childFeature == UMLPackage.eINSTANCE
+ .getWriteStructuralFeatureAction_Value();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteVariableActionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteVariableActionItemProvider.java
new file mode 100644
index 00000000..b328391f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/provider/WriteVariableActionItemProvider.java
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: WriteVariableActionItemProvider.java,v 1.1 2005/11/14 22:11:36 khussey Exp $
+ */
+package org.eclipse.uml2.uml.edit.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.WriteVariableAction;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.uml2.uml.WriteVariableAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WriteVariableActionItemProvider
+ extends VariableActionItemProvider
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WriteVariableActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_WriteVariableAction_value_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_WriteVariableAction_value_feature", "_UI_WriteVariableAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UMLPackage.eINSTANCE.getWriteVariableAction_Value(), true,
+ null, null,
+ new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
+ }));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(UMLPackage.eINSTANCE
+ .getWriteVariableAction_Value());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((WriteVariableAction) object).getName();
+ return label == null || label.length() == 0
+ ? getString("_UI_WriteVariableAction_type") : //$NON-NLS-1$
+ getString("_UI_WriteVariableAction_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(WriteVariableAction.class)) {
+ case UMLPackage.WRITE_VARIABLE_ACTION__VALUE :
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing all of the children that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors,
+ Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getWriteVariableAction_Value(), UMLFactory.eINSTANCE
+ .createInputPin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getWriteVariableAction_Value(), UMLFactory.eINSTANCE
+ .createValuePin()));
+
+ newChildDescriptors.add(createChildParameter(UMLPackage.eINSTANCE
+ .getWriteVariableAction_Value(), UMLFactory.eINSTANCE
+ .createActionInputPin()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPrecondition()
+ || childFeature == UMLPackage.eINSTANCE
+ .getAction_LocalPostcondition();
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[]{getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner)});
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return UMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.editor/.classpath b/plugins/org.eclipse.uml2.uml.editor/.classpath
new file mode 100644
index 00000000..751c8f2e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/.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"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.uml2.uml.editor/.cvsignore b/plugins/org.eclipse.uml2.uml.editor/.cvsignore
new file mode 100644
index 00000000..ba077a40
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.uml2.uml.editor/.project b/plugins/org.eclipse.uml2.uml.editor/.project
new file mode 100644
index 00000000..67c7cad0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.uml2.uml.editor</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>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.uml2.uml.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.uml2.uml.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..9f8e22dd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.uml2.uml.editor; singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: org.eclipse.uml2.uml.editor.jar
+Bundle-Activator: org.eclipse.uml2.uml.editor.UMLEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.uml2.uml.editor,
+ org.eclipse.uml2.uml.editor.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport
+Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.uml2.uml.editor/build.properties b/plugins/org.eclipse.uml2.uml.editor/build.properties
new file mode 100644
index 00000000..6a4cbd36
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2005 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
+#
+# $Id: build.properties,v 1.1 2005/11/14 22:15:02 khussey Exp $
+
+bin.includes = org.eclipse.uml2.uml.editor.jar,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = org.eclipse.uml2.uml.editor.jar
+source.org.eclipse.uml2.uml.editor.jar = src/
+output.org.eclipse.uml2.uml.editor.jar = bin/ \ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gif b/plugins/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gif
new file mode 100644
index 00000000..93140089
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/icons/full/obj16/UMLModelFile.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.editor/icons/full/wizban/NewUML.gif b/plugins/org.eclipse.uml2.uml.editor/icons/full/wizban/NewUML.gif
new file mode 100644
index 00000000..60379db0
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/icons/full/wizban/NewUML.gif
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml.editor/plugin.properties b/plugins/org.eclipse.uml2.uml.editor/plugin.properties
new file mode 100644
index 00000000..d814a4c5
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/plugin.properties
@@ -0,0 +1,71 @@
+# Copyright (c) 2005 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
+#
+# $Id: plugin.properties,v 1.1 2005/11/14 22:15:02 khussey Exp $
+
+# ====================================================================
+# To code developer:
+# Do NOT change the properties between this line and the
+# "%%% END OF TRANSLATED PROPERTIES %%%" line.
+# Make a new property name, append to the end of the file and change
+# the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = UML Editor
+providerName = www.example.org
+
+_UI_UMLEditor_menu = &UML Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+_UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_UMLModelWizard_label = UML Model
+_UI_UMLModelWizard_description = Create a new UML model
+
+_UI_UMLEditor_label = UML Model Editor
+
+_UI_UMLEditorFilenameDefaultBase = My
+_UI_UMLEditorFilenameExtension = uml
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ".{0}"
+
+_UI_ModelObject = Model Object
+_UI_XMLEncoding = XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?
+
diff --git a/plugins/org.eclipse.uml2.uml.editor/plugin.xml b/plugins/org.eclipse.uml2.uml.editor/plugin.xml
new file mode 100644
index 00000000..f665df7e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/plugin.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2005 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
+
+ $Id: plugin.xml,v 1.1 2005/11/14 22:15:02 khussey Exp $
+-->
+
+<plugin>
+
+
+ <extension
+ point = "org.eclipse.ui.newWizards">
+ <category
+ id = "org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category">
+ </category>
+ <wizard
+ id = "org.eclipse.uml2.uml.editor.presentation.UMLModelWizardID"
+ name = "%_UI_UMLModelWizard_label"
+ class = "org.eclipse.uml2.uml.editor.presentation.UMLModelWizard"
+ category = "org.eclipse.emf.ecore.Wizard.category.ID"
+ icon = "icons/full/obj16/UMLModelFile.gif">
+ <description>%_UI_UMLModelWizard_description</description>
+ <selection class = "org.eclipse.core.resources.IResource" />
+ </wizard>
+ </extension>
+
+ <extension point = "org.eclipse.ui.editors">
+ <editor
+ id = "org.eclipse.uml2.uml.editor.presentation.UMLEditorID"
+ name = "%_UI_UMLEditor_label"
+ icon = "icons/full/obj16/UMLModelFile.gif"
+ extensions = "uml"
+ class = "org.eclipse.uml2.uml.editor.presentation.UMLEditor"
+ contributorClass="org.eclipse.uml2.uml.editor.presentation.UMLActionBarContributor" >
+ </editor>
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/UMLEditorPlugin.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/UMLEditorPlugin.java
new file mode 100644
index 00000000..9eb16391
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/UMLEditorPlugin.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UMLEditorPlugin.java,v 1.1 2005/11/14 22:15:02 khussey Exp $
+ */
+package org.eclipse.uml2.uml.editor;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the UML editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class UMLEditorPlugin
+ extends EMFPlugin {
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final UMLEditorPlugin INSTANCE = new UMLEditorPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLEditorPlugin() {
+ super(new ResourceLocator[]{});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation
+ extends EclipseUIPlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLActionBarContributor.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLActionBarContributor.java
new file mode 100644
index 00000000..0c537dde
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLActionBarContributor.java
@@ -0,0 +1,448 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UMLActionBarContributor.java,v 1.1 2005/11/14 22:15:02 khussey Exp $
+ */
+package org.eclipse.uml2.uml.editor.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.uml2.uml.editor.UMLEditorPlugin;
+
+/**
+ * This is the action bar contributor for the UML model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLActionBarContributor
+ extends EditingDomainActionBarContributor
+ implements ISelectionChangedListener {
+
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction showPropertiesViewAction = new Action(
+ UMLEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) //$NON-NLS-1$
+ {
+
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$
+ } catch (PartInitException exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction refreshViewerAction = new Action(UMLEditorPlugin.INSTANCE
+ .getString("_UI_RefreshViewer_menu_item")) //$NON-NLS-1$
+ {
+
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider) activeEditorPart)
+ .getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLActionBarContributor() {
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("uml-settings")); //$NON-NLS-1$
+ toolBarManager.add(new Separator("uml-additions")); //$NON-NLS-1$
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor additions,
+ * as well as the sub-menus for object creation items.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+
+ IMenuManager submenuManager = new MenuManager(UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLEditor_menu"), "org.eclipse.uml2.umlMenuID"); //$NON-NLS-1$ //$NON-NLS-2$
+ menuManager.insertAfter("additions", submenuManager); //$NON-NLS-1$
+ submenuManager.add(new Separator("settings")); //$NON-NLS-1$
+ submenuManager.add(new Separator("actions")); //$NON-NLS-1$
+ submenuManager.add(new Separator("additions")); //$NON-NLS-1$
+ submenuManager.add(new Separator("additions-end")); //$NON-NLS-1$
+
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(UMLEditorPlugin.INSTANCE
+ .getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
+ submenuManager.insertBefore("additions", createChildMenuManager); //$NON-NLS-1$
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(UMLEditorPlugin.INSTANCE
+ .getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
+ submenuManager.insertBefore("additions", createSiblingMenuManager); //$NON-NLS-1$
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener(new IMenuListener() {
+
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ } else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider,
+ selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection newChildDescriptors = null;
+ Collection newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection
+ && ((IStructuredSelection) selection).size() == 1) {
+ Object object = ((IStructuredSelection) selection)
+ .getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider) activeEditorPart)
+ .getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors,
+ selection);
+ createSiblingActions = generateCreateSiblingActions(
+ newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions,
+ null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection generateCreateChildActions(Collection descriptors,
+ ISelection selection) {
+ Collection actions = new ArrayList();
+ if (descriptors != null) {
+ for (Iterator i = descriptors.iterator(); i.hasNext();) {
+ actions.add(new CreateChildAction(activeEditorPart, selection,
+ i.next()));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection generateCreateSiblingActions(Collection descriptors,
+ ISelection selection) {
+ Collection actions = new ArrayList();
+ if (descriptors != null) {
+ for (Iterator i = descriptors.iterator(); i.hasNext();) {
+ actions.add(new CreateSiblingAction(activeEditorPart,
+ selection, i.next()));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>ID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager,
+ Collection actions, String contributionID) {
+ if (actions != null) {
+ for (Iterator i = actions.iterator(); i.hasNext();) {
+ IAction action = (IAction) i.next();
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ } else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager,
+ Collection actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem) contributionItem)
+ .getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem) contributionItem)
+ .getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(UMLEditorPlugin.INSTANCE
+ .getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("additions", submenuManager); //$NON-NLS-1$
+
+ submenuManager = new MenuManager(UMLEditorPlugin.INSTANCE
+ .getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("additions", submenuManager); //$NON-NLS-1$
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions")); //$NON-NLS-1$ //$NON-NLS-2$
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction); //$NON-NLS-1$
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction); //$NON-NLS-1$
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLEditor.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLEditor.java
new file mode 100644
index 00000000..d4ab1b87
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLEditor.java
@@ -0,0 +1,1548 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UMLEditor.java,v 1.1 2005/11/14 22:15:02 khussey Exp $
+ */
+package org.eclipse.uml2.uml.editor.presentation;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EValidator;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import java.io.IOException;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.uml2.uml.edit.provider.UMLItemProviderAdapterFactory;
+
+import java.util.HashMap;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.uml2.uml.editor.UMLEditorPlugin;
+
+/**
+ * This is an example of a UML model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLEditor
+ extends MultiPageEditorPart
+ implements IEditingDomainProvider, ISelectionProvider, IMenuListener,
+ IViewerProvider, IGotoMarker {
+
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertySheetPage propertySheetPage;
+
+ /**
+ * This is the viewer that shadows the selection in the content outline.
+ * The parent relation must be correctly defined for this to work.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection selectionChangedListeners = new ArrayList();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPartListener partListener = new IPartListener() {
+
+ public void partActivated(IWorkbenchPart p) {
+ if (p instanceof ContentOutline) {
+ if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(UMLEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ } else if (p instanceof PropertySheet) {
+ if (((PropertySheet) p).getCurrentPage() == propertySheetPage) {
+ getActionBarContributor().setActiveEditor(UMLEditor.this);
+ handleActivate();
+ }
+ } else if (p == UMLEditor.this) {
+ handleActivate();
+ }
+ }
+
+ public void partBroughtToTop(IWorkbenchPart p) {
+ }
+
+ public void partClosed(IWorkbenchPart p) {
+ }
+
+ public void partDeactivated(IWorkbenchPart p) {
+ }
+
+ public void partOpened(IWorkbenchPart p) {
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * @generated
+ */
+ Collection removedResources = new ArrayList();
+
+ /**
+ * Resources that have been changed since last activation.
+ * @generated
+ */
+ Collection changedResources = new ArrayList();
+
+ /**
+ * Resources that have been saved.
+ * @generated
+ */
+ Collection savedResources = new ArrayList();
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
+
+ public void resourceChanged(IResourceChangeEvent event) {
+ // Only listening to these.
+ // if (event.getType() == IResourceDelta.POST_CHANGE)
+ {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor
+ implements IResourceDeltaVisitor {
+
+ protected ResourceSet resourceSet = editingDomain
+ .getResourceSet();
+
+ protected Collection changedResources = new ArrayList();
+
+ protected Collection removedResources = new ArrayList();
+
+ public boolean visit(IResourceDelta delta) {
+ if (delta.getFlags() != IResourceDelta.MARKERS
+ && delta.getResource().getType() == IResource.FILE) {
+ if ((delta.getKind() & (IResourceDelta.CHANGED | IResourceDelta.REMOVED)) != 0) {
+ Resource resource = resourceSet
+ .getResource(URI.createURI(delta
+ .getFullPath().toString()), false);
+ if (resource != null) {
+ if ((delta.getKind() & IResourceDelta.REMOVED) != 0) {
+ removedResources.add(resource);
+ } else {
+ changedResources.add(resource);
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public Collection getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection getRemovedResources() {
+ return removedResources;
+ }
+ }
+
+ ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty()) {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty()) {
+ getSite().getShell().getDisplay().asyncExec(
+ new Runnable() {
+
+ public void run() {
+ getSite().getPage().closeEditor(
+ UMLEditor.this, false);
+ UMLEditor.this.dispose();
+ }
+ });
+ }
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ changedResources.addAll(visitor.getChangedResources());
+ }
+ } catch (CoreException exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views.
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty()) {
+ if (handleDirtyConflict()) {
+ getSite().getPage().closeEditor(UMLEditor.this, false);
+ UMLEditor.this.dispose();
+ } else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ } else if (!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation.
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if (!changedResources.isEmpty()
+ && (!isDirty() || handleDirtyConflict())) {
+ editingDomain.getCommandStack().flush();
+
+ for (Iterator i = changedResources.iterator(); i.hasNext();) {
+ Resource resource = (Resource) i.next();
+ if (resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ } catch (IOException exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded.
+ * @generated
+ */
+ protected boolean handleDirtyConflict() {
+ return MessageDialog.openQuestion(getSite().getShell(),
+ getString("_UI_FileConflict_label"), //$NON-NLS-1$
+ getString("_WARN_FileConflict")); //$NON-NLS-1$
+ }
+
+ /**
+ * This creates a model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLEditor() {
+ super();
+
+ // Create an adapter factory that yields item providers.
+ //
+ List factories = new ArrayList();
+ factories.add(new ResourceItemProviderAdapterFactory());
+ factories.add(new UMLItemProviderAdapterFactory());
+ factories.add(new ReflectiveItemProviderAdapterFactory());
+
+ adapterFactory = new ComposedAdapterFactory(factories);
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener(new CommandStackListener() {
+
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack) event
+ .getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand
+ .getAffectedObjects());
+ }
+ if (propertySheetPage != null) {
+ propertySheetPage.refresh();
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
+ commandStack, new HashMap());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void firePropertyChange(int action) {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelectionToViewer(Collection collection) {
+ final Collection theSelection = collection;
+ // Make sure it's okay.
+ //
+ if (theSelection != null && !theSelection.isEmpty()) {
+ // I don't know if this should be run this deferred
+ // because we might have to give the editor a chance to process the viewer update events
+ // and hence to update the views first.
+ //
+ //
+ Runnable runnable = new Runnable() {
+
+ public void run() {
+ // Try to select the items in the current content viewer of the editor.
+ //
+ if (currentViewer != null) {
+ currentViewer.setSelection(new StructuredSelection(
+ theSelection.toArray()), true);
+ }
+ }
+ };
+ runnable.run();
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+ * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+ * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomain getEditingDomain() {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider
+ extends AdapterFactoryContentProvider {
+
+ public ReverseAdapterFactoryContentProvider(
+ AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ public Object[] getElements(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null
+ ? Collections.EMPTY_SET
+ : Collections.singleton(parent)).toArray();
+ }
+
+ public Object[] getChildren(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null
+ ? Collections.EMPTY_SET
+ : Collections.singleton(parent)).toArray();
+ }
+
+ public boolean hasChildren(Object object) {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ public Object getParent(Object object) {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane) {
+ if (currentViewerPane != viewerPane) {
+ if (currentViewerPane != null) {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+ * is the current one.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer) {
+ // If it is changing...
+ //
+ if (currentViewer != viewer) {
+ if (selectionChangedListener == null) {
+ // Create the listener on demand.
+ //
+ selectionChangedListener = new ISelectionChangedListener() {
+
+ // This just notifies those things that are affected by the section.
+ //
+ public void selectionChanged(
+ SelectionChangedEvent selectionChangedEvent) {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+
+ // Stop listening to the old one.
+ //
+ if (currentViewer != null) {
+ currentViewer
+ .removeSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Start listening to the new one.
+ //
+ if (viewer != null) {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Remember it.
+ //
+ currentViewer = viewer;
+
+ // Set the editors selection based on the current viewer's selection.
+ //
+ setSelection(currentViewer == null
+ ? StructuredSelection.EMPTY
+ : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider} interface.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Viewer getViewer() {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer) {
+ MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$
+ contextMenu.add(new Separator("additions")); //$NON-NLS-1$
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu = contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu, viewer);
+
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[]{LocalTransfer.getInstance()};
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(
+ viewer));
+ viewer.addDropSupport(dndOperations, transfers,
+ new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createModel() {
+ // I assume that the input is a file object.
+ //
+ IFileEditorInput modelFile = (IFileEditorInput) getEditorInput();
+
+ try {
+ // Load the resource through the editing domain.
+ //
+ editingDomain.loadResource(URI.createPlatformResourceURI(
+ modelFile.getFile().getFullPath().toString()).toString());
+ } catch (Exception exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPages() {
+ // Creates the model from the editor input
+ //
+ createModel();
+
+ // Create a page for the selection tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ UMLEditor.this) {
+
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ selectionViewer = (TreeViewer) viewerPane.getViewer();
+ selectionViewer
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ viewerPane.setTitle(editingDomain.getResourceSet());
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(),
+ adapterFactory);
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label")); //$NON-NLS-1$
+ }
+
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ UMLEditor.this) {
+
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ parentViewer = (TreeViewer) viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer
+ .setContentProvider(new ReverseAdapterFactoryContentProvider(
+ adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label")); //$NON-NLS-1$
+ }
+
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ UMLEditor.this) {
+
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer) viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label")); //$NON-NLS-1$
+ }
+
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ UMLEditor.this) {
+
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer) viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label")); //$NON-NLS-1$
+ }
+
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ UMLEditor.this) {
+
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer) viewerPane.getViewer();
+
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label")); //$NON-NLS-1$
+ objectColumn.setResizable(true);
+
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$
+ selfColumn.setResizable(true);
+
+ tableViewer.setColumnProperties(new String[]{"a", "b"}); //$NON-NLS-1$ //$NON-NLS-2$
+ tableViewer.setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label")); //$NON-NLS-1$
+ }
+
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
+ UMLEditor.this) {
+
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();
+
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label")); //$NON-NLS-1$
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+
+ treeViewerWithColumns.setColumnProperties(new String[]{"a", "b"}); //$NON-NLS-1$ //$NON-NLS-2$
+ treeViewerWithColumns
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ treeViewerWithColumns
+ .setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); //$NON-NLS-1$
+ }
+
+ setActivePage(0);
+
+ getContainer().addControlListener(new ControlAdapter() {
+
+ boolean guard = false;
+
+ public void controlResized(ControlEvent event) {
+ if (!guard) {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part, this hides
+ * the single tab at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void hideTabs() {
+ if (getPageCount() <= 1) {
+ setPageText(0, ""); //$NON-NLS-1$
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder) getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void pageChange(int pageIndex) {
+ super.pageChange(pageIndex);
+
+ if (contentOutlinePage != null) {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getAdapter(Class key) {
+ if (key.equals(IContentOutlinePage.class)) {
+ return getContentOutlinePage();
+ } else if (key.equals(IPropertySheetPage.class)) {
+ return getPropertySheetPage();
+ } else if (key.equals(IGotoMarker.class)) {
+ return this;
+ } else {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage() {
+ if (contentOutlinePage == null) {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage
+ extends ContentOutlinePage {
+
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer
+ .setContentProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ contentOutlineViewer
+ .setLabelProvider(new AdapterFactoryLabelProvider(
+ adapterFactory));
+ contentOutlineViewer.setInput(editingDomain
+ .getResourceSet());
+
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+
+ if (!editingDomain.getResourceSet().getResources()
+ .isEmpty()) {
+ // Select the root object in the view.
+ //
+ ArrayList selection = new ArrayList();
+ selection.add(editingDomain.getResourceSet()
+ .getResources().get(0));
+ contentOutlineViewer.setSelection(
+ new StructuredSelection(selection), true);
+ }
+ }
+
+ public void makeContributions(IMenuManager menuManager,
+ IToolBarManager toolBarManager,
+ IStatusLineManager statusLineManager) {
+ super.makeContributions(menuManager, toolBarManager,
+ statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this,
+ actionBars);
+ }
+ }
+
+ contentOutlinePage = new MyContentOutlinePage();
+
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage
+ .addSelectionChangedListener(new ISelectionChangedListener() {
+
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event) {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage() {
+ if (propertySheetPage == null) {
+ propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
+
+ public void setSelectionToViewer(List selection) {
+ UMLEditor.this.setSelectionToViewer(selection);
+ UMLEditor.this.setFocus();
+ }
+
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this,
+ actionBars);
+ }
+ };
+ propertySheetPage
+ .setPropertySourceProvider(new AdapterFactoryContentProvider(
+ adapterFactory));
+ }
+
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection) {
+ if (currentViewerPane != null && !selection.isEmpty()
+ && selection instanceof IStructuredSelection) {
+ Iterator selectedElements = ((IStructuredSelection) selection)
+ .iterator();
+ if (selectedElements.hasNext()) {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+
+ // If it's the selection viewer, then we want it to select the same selection as this selection.
+ //
+ if (currentViewerPane.getViewer() == selectionViewer) {
+ ArrayList selectionList = new ArrayList();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext()) {
+ selectionList.add(selectedElements.next());
+ }
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(
+ selectionList));
+ } else {
+ // Set the input to the widget.
+ //
+ if (currentViewerPane.getViewer().getInput() != selectedElement) {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command stack.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDirty() {
+ return ((BasicCommandStack) editingDomain.getCommandStack())
+ .isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void doSave(IProgressMonitor progressMonitor) {
+ // Do the work within an operation because this is a long running activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+
+ // This is the method that gets invoked when the operation runs.
+ //
+ public void execute(IProgressMonitor monitor) {
+ try {
+ // Save the resource to the file system.
+ //
+ Resource savedResource = (Resource) editingDomain
+ .getResourceSet().getResources().get(0);
+ savedResources.add(savedResource);
+ savedResource.save(Collections.EMPTY_MAP);
+ } catch (Exception exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ try {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false,
+ operation);
+
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ } catch (Exception exception) {
+ // Something went wrong that shouldn't.
+ //
+ UMLEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * This always returns true because it is not currently supported.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void doSaveAs() {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if (path != null) {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if (file != null) {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath()
+ .toString()), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput) {
+ ((Resource) editingDomain.getResourceSet().getResources().get(0))
+ .setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor = getActionBars()
+ .getStatusLineManager() != null
+ ? getActionBars().getStatusLineManager().getProgressMonitor()
+ : new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void gotoMarker(IMarker marker) {
+ try {
+ if (marker.getType().equals(EValidator.MARKER)) {
+ String uriAttribute = marker.getAttribute(
+ EValidator.URI_ATTRIBUTE, null);
+ if (uriAttribute != null) {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet()
+ .getEObject(uri, true);
+ if (eObject != null) {
+ setSelectionToViewer(Collections
+ .singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ } catch (CoreException exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * This is called during startup.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IEditorSite site, IEditorInput editorInput) {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(
+ resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFocus() {
+ if (currentViewerPane != null) {
+ currentViewerPane.setFocus();
+ } else {
+ getControl(getActivePage()).setFocus();
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeSelectionChangedListener(
+ ISelectionChangedListener listener) {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISelection getSelection() {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+ * Calling this result will notify the listeners.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(ISelection selection) {
+ editorSelection = selection;
+
+ for (Iterator listeners = selectionChangedListeners.iterator(); listeners
+ .hasNext();) {
+ ISelectionChangedListener listener = (ISelectionChangedListener) listeners
+ .next();
+ listener
+ .selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection) {
+ IStatusLineManager statusLineManager = currentViewer != null
+ && currentViewer == contentOutlineViewer
+ ? contentOutlineStatusLineManager
+ : getActionBars().getStatusLineManager();
+
+ if (statusLineManager != null) {
+ if (selection instanceof IStructuredSelection) {
+ Collection collection = ((IStructuredSelection) selection)
+ .toList();
+ switch (collection.size()) {
+ case 0 : {
+ statusLineManager
+ .setMessage(getString("_UI_NoObjectSelected")); //$NON-NLS-1$
+ break;
+ }
+ case 1 : {
+ String text = new AdapterFactoryItemDelegator(
+ adapterFactory).getText(collection.iterator()
+ .next());
+ statusLineManager.setMessage(getString(
+ "_UI_SingleObjectSelected", text)); //$NON-NLS-1$
+ break;
+ }
+ default : {
+ statusLineManager
+ .setMessage(getString(
+ "_UI_MultiObjectSelected", Integer.toString(collection.size()))); //$NON-NLS-1$
+ break;
+ }
+ }
+ } else {
+ statusLineManager.setMessage(""); //$NON-NLS-1$
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key) {
+ return UMLEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key, Object s1) {
+ return UMLEditorPlugin.INSTANCE.getString(key, new Object[]{s1});
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ ((IMenuListener) getEditorSite().getActionBarContributor())
+ .menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return (EditingDomainActionBarContributor) getEditorSite()
+ .getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IActionBars getActionBars() {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory() {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose() {
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(
+ resourceChangeListener);
+
+ getSite().getPage().removePartListener(partListener);
+
+ adapterFactory.dispose();
+
+ if (getActionBarContributor().getActiveEditor() == this) {
+ getActionBarContributor().setActiveEditor(null);
+ }
+
+ if (propertySheetPage != null) {
+ propertySheetPage.dispose();
+ }
+
+ if (contentOutlinePage != null) {
+ contentOutlinePage.dispose();
+ }
+
+ super.dispose();
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLModelWizard.java b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLModelWizard.java
new file mode 100644
index 00000000..0c6438a1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml.editor/src/org/eclipse/uml2/uml/editor/presentation/UMLModelWizard.java
@@ -0,0 +1,659 @@
+/*
+ * Copyright (c) 2005 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
+ *
+ * $Id: UMLModelWizard.java,v 1.1 2005/11/14 22:15:02 khussey Exp $
+ */
+package org.eclipse.uml2.uml.editor.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+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.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.uml2.uml.editor.UMLEditorPlugin;
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLModelWizard
+ extends Wizard
+ implements INewWizard {
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UMLPackage umlPackage = UMLPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UMLFactory umlFactory = umlPackage.getUMLFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UMLModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UMLModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(UMLEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); //$NON-NLS-1$
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE
+ .getImageDescriptor(UMLEditorPlugin.INSTANCE
+ .getImage("full/wizban/NewUML"))); //$NON-NLS-1$
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection getInitialObjectNames() {
+ if (initialObjectNames == null) {
+ initialObjectNames = new ArrayList();
+ for (Iterator classifiers = umlPackage.getEClassifiers().iterator(); classifiers
+ .hasNext();) {
+ EClassifier eClassifier = (EClassifier) classifiers.next();
+ if (eClassifier instanceof EClass) {
+ EClass eClass = (EClass) eClassifier;
+ if (!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, java.text.Collator
+ .getInstance());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass) umlPackage
+ .getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = umlFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
+
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile
+ .getFullPath().toString());
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map options = new HashMap();
+ options.put(XMLResource.OPTION_ENCODING,
+ initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ } catch (Exception exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ } finally {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench
+ .getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(
+ modelFile);
+ getShell().getDisplay().asyncExec(new Runnable() {
+
+ public void run() {
+ ((ISetSelectionTarget) activePart)
+ .selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor(new FileEditorInput(modelFile), workbench
+ .getEditorRegistry().getDefaultEditor(
+ modelFile.getFullPath().toString()).getId());
+ } catch (PartInitException exception) {
+ MessageDialog
+ .openError(
+ workbenchWindow.getShell(),
+ UMLEditorPlugin.INSTANCE
+ .getString("_UI_OpenEditorError_label"), exception.getMessage()); //$NON-NLS-1$
+ return false;
+ }
+
+ return true;
+ } catch (Exception exception) {
+ UMLEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class UMLModelWizardNewFileCreationPage
+ extends WizardNewFileCreationPage {
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLModelWizardNewFileCreationPage(String pageId,
+ IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage() {
+ if (super.validatePage()) {
+ // Make sure the file ends in ".uml".
+ //
+ String requiredExt = UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLEditorFilenameExtension"); //$NON-NLS-1$
+ String enteredExt = new Path(getFileName()).getFileExtension();
+ if (enteredExt == null || !enteredExt.equals(requiredExt)) {
+ setErrorMessage(UMLEditorPlugin.INSTANCE.getString(
+ "_WARN_FilenameExtension", new Object[]{requiredExt})); //$NON-NLS-1$
+ return false;
+ } else {
+ return true;
+ }
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(
+ getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class UMLModelWizardInitialObjectCreationPage
+ extends WizardPage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected List encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(UMLEditorPlugin.INSTANCE
+ .getString("_UI_ModelObject")); //$NON-NLS-1$
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+
+ for (Iterator i = getInitialObjectNames().iterator(); i.hasNext();) {
+ initialObjectField.add(getLabel((String) i.next()));
+ }
+
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(UMLEditorPlugin.INSTANCE
+ .getString("_UI_XMLEncoding")); //$NON-NLS-1$
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+
+ for (Iterator i = getEncodings().iterator(); i.hasNext();) {
+ encodingField.add((String) i.next());
+ }
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifyListener validator = new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null
+ && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if (visible) {
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ } else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+
+ for (Iterator i = getInitialObjectNames().iterator(); i.hasNext();) {
+ String name = (String) i.next();
+ if (getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return UMLEditPlugin.INSTANCE
+ .getString("_UI_" + typeName + "_type"); //$NON-NLS-1$
+ } catch (MissingResourceException mre) {
+ UMLEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection getEncodings() {
+ if (encodings == null) {
+ encodings = new ArrayList();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(
+ UMLEditorPlugin.INSTANCE
+ .getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens();) //$NON-NLS-1$
+ {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new UMLModelWizardNewFileCreationPage(
+ "Whatever", selection); //$NON-NLS-1$
+ newFileCreationPage.setTitle(UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLModelWizard_label")); //$NON-NLS-1$
+ newFileCreationPage.setDescription(UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLModelWizard_description")); //$NON-NLS-1$
+ newFileCreationPage
+ .setFileName(UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLEditorFilenameDefaultBase") + "." + UMLEditorPlugin.INSTANCE.getString("_UI_UMLEditorFilenameExtension")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ addPage(newFileCreationPage);
+
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if (selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if (selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource) selectedElement;
+ if (selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+
+ // This gives us a directory...
+ //
+ if (selectedResource instanceof IFolder
+ || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource
+ .getFullPath());
+
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLEditorFilenameDefaultBase"); //$NON-NLS-1$
+ String defaultModelFilenameExtension = UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLEditorFilenameExtension"); //$NON-NLS-1$
+ String modelFilename = defaultModelBaseFilename
+ + "." + defaultModelFilenameExtension; //$NON-NLS-1$
+ for (int i = 1; ((IContainer) selectedResource)
+ .findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i
+ + "." + defaultModelFilenameExtension; //$NON-NLS-1$
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new UMLModelWizardInitialObjectCreationPage(
+ "Whatever2"); //$NON-NLS-1$
+ initialObjectCreationPage.setTitle(UMLEditorPlugin.INSTANCE
+ .getString("_UI_UMLModelWizard_label")); //$NON-NLS-1$
+ initialObjectCreationPage.setDescription(UMLEditorPlugin.INSTANCE
+ .getString("_UI_Wizard_initial_object_description")); //$NON-NLS-1$
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+
+}

Back to the top