| package org.eclipse.uml2.diagram.clazz.edit.policies; |
| |
| import java.util.Collection; |
| import java.util.HashSet; |
| import java.util.Iterator; |
| import java.util.LinkedList; |
| import java.util.List; |
| import java.util.Set; |
| |
| import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy; |
| import org.eclipse.gmf.runtime.notation.View; |
| import org.eclipse.uml2.diagram.clazz.edit.parts.RedefinableTemplateSignatureEditPart; |
| import org.eclipse.uml2.diagram.clazz.part.UMLDiagramUpdater; |
| import org.eclipse.uml2.diagram.clazz.part.UMLNodeDescriptor; |
| import org.eclipse.uml2.diagram.clazz.part.UMLVisualIDRegistry; |
| import org.eclipse.uml2.uml.UMLPackage; |
| |
| /** |
| * @generated |
| */ |
| public class PrimitiveType2CanonicalEditPolicy extends CanonicalEditPolicy { |
| |
| /** |
| * @generated |
| */ |
| Set myFeaturesToSynchronize; |
| |
| /** |
| * @generated |
| */ |
| protected List getSemanticChildrenList() { |
| View viewObject = (View) getHost().getModel(); |
| List result = new LinkedList(); |
| for (Iterator it = UMLDiagramUpdater.getPrimitiveType_2005SemanticChildren(viewObject).iterator(); it.hasNext();) { |
| result.add(((UMLNodeDescriptor) it.next()).getModelElement()); |
| } |
| return result; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected boolean isOrphaned(Collection semanticChildren, final View view) { |
| int visualID = UMLVisualIDRegistry.getVisualID(view); |
| switch (visualID) { |
| case RedefinableTemplateSignatureEditPart.VISUAL_ID: |
| if (!semanticChildren.contains(view.getElement())) { |
| return true; |
| } |
| } |
| return false; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected String getDefaultFactoryHint() { |
| return null; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected Set getFeaturesToSynchronize() { |
| if (myFeaturesToSynchronize == null) { |
| myFeaturesToSynchronize = new HashSet(); |
| myFeaturesToSynchronize.add(UMLPackage.eINSTANCE.getTemplateableElement_OwnedTemplateSignature()); |
| } |
| return myFeaturesToSynchronize; |
| } |
| |
| } |