/** Default constructor */ public GraphicalTypeRegistry() { // Fill known edges set knownEdges.add(ElementTypes.ABSTRACTION.getSemanticHint()); knownEdges.add(ElementTypes.DEPENDENCY.getSemanticHint()); knownEdges.add(ElementTypes.REALIZATION.getSemanticHint()); knownEdges.add(ElementTypes.PACKAGE_IMPORT.getSemanticHint()); knownEdges.add(ElementTypes.COMMENT_ANNOTATED_ELEMENT.getSemanticHint()); knownEdges.add(ElementTypes.CONSTRAINT_CONSTRAINED_ELEMENT.getSemanticHint()); // Fill known nodes set (primary nodes) knownNodes.add(ElementTypes.PACKAGE.getSemanticHint()); knownNodes.add(ElementTypes.PACKAGE_CN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_CN.getSemanticHint()); knownNodes.add(ElementTypes.DEFAULT_NAMED_ELEMENT.getSemanticHint()); knownNodes.add(ElementTypes.CONTAINMENT_CIRCLE_CN.getSemanticHint()); knownNodes.add(ElementTypes.COMMENT.getSemanticHint()); knownNodes.add(ElementTypes.COMMENT_CN.getSemanticHint()); knownNodes.add(ElementTypes.CONSTRAINT.getSemanticHint()); knownNodes.add(ElementTypes.CONSTRAINT_CN.getSemanticHint()); // Fill known nodes set (child label nodes) knownNodes.add(ElementTypes.CLASS_PROPERTY_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_RECEPTION_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_OPERATION_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_CLASS_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_INTERFACE_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_ENUMERATION_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_PRIMITIVE_TYPE_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_DATA_TYPE_CLN.getSemanticHint()); knownNodes.add(ElementTypes.CLASS_SIGNAL_CLN.getSemanticHint()); }
/** {@inheritDoc} */ @Override public String getNodeGraphicalType(EObject domainElement, String containerType) { String graphicalType = UNDEFINED_TYPE; if ((containerType == null) || (domainElement == null)) { return UNDEFINED_TYPE; } if (domainElement instanceof org.eclipse.uml2.uml.Package) { if (ElementTypes.DIAGRAM_ID.equals(containerType)) { // Package TopNode graphicalType = ElementTypes.PACKAGE.getSemanticHint(); } if (ElementTypes.PACKAGE_CN_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Package ChildNode graphicalType = ElementTypes.PACKAGE_CN.getSemanticHint(); } if (ElementTypes.PACKAGE_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Package ChildNode graphicalType = ElementTypes.PACKAGE_CN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Class) { if (ElementTypes.DIAGRAM_ID.equals(containerType)) { // Class TopNode graphicalType = ElementTypes.CLASS.getSemanticHint(); } if (ElementTypes.PACKAGE_CN_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Class ChildNode graphicalType = ElementTypes.CLASS_CN.getSemanticHint(); } if (ElementTypes.PACKAGE_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Class ChildNode graphicalType = ElementTypes.CLASS_CN.getSemanticHint(); } if (ElementTypes.CLASS_CN_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Class ChildLabelNode graphicalType = ElementTypes.CLASS_CLASS_CLN.getSemanticHint(); } if (ElementTypes.CLASS_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Class ChildLabelNode graphicalType = ElementTypes.CLASS_CLASS_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.NamedElement) { if (ElementTypes.DIAGRAM_ID.equals(containerType)) { // NamedElement TopNode graphicalType = ElementTypes.DEFAULT_NAMED_ELEMENT.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Comment) { if (ElementTypes.DIAGRAM_ID.equals(containerType)) { // Comment TopNode graphicalType = ElementTypes.COMMENT.getSemanticHint(); } if (ElementTypes.PACKAGE_CN_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Comment ChildNode graphicalType = ElementTypes.COMMENT_CN.getSemanticHint(); } if (ElementTypes.PACKAGE_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Comment ChildNode graphicalType = ElementTypes.COMMENT_CN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Constraint) { if (ElementTypes.DIAGRAM_ID.equals(containerType)) { // Constraint TopNode graphicalType = ElementTypes.CONSTRAINT.getSemanticHint(); } if (ElementTypes.PACKAGE_CN_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Constraint ChildNode graphicalType = ElementTypes.CONSTRAINT_CN.getSemanticHint(); } if (ElementTypes.PACKAGE_COMPARTMENT_PACKAGEABLE_ELEMENT_HINT.equals( containerType)) { // Constraint ChildNode graphicalType = ElementTypes.CONSTRAINT_CN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Property) { if (ElementTypes.CLASS_COMPARTMENT_ATTRIBUTE_HINT.equals( containerType)) { // Property ChildLabelNode graphicalType = ElementTypes.CLASS_PROPERTY_CLN.getSemanticHint(); } if (ElementTypes.CLASS_CN_COMPARTMENT_ATTRIBUTE_HINT.equals( containerType)) { // Property ChildLabelNode graphicalType = ElementTypes.CLASS_PROPERTY_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Reception) { if (ElementTypes.CLASS_COMPARTMENT_OPERATION_HINT.equals( containerType)) { // Reception ChildLabelNode graphicalType = ElementTypes.CLASS_RECEPTION_CLN.getSemanticHint(); } if (ElementTypes.CLASS_CN_COMPARTMENT_OPERATION_HINT.equals( containerType)) { // Reception ChildLabelNode graphicalType = ElementTypes.CLASS_RECEPTION_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Operation) { if (ElementTypes.CLASS_COMPARTMENT_OPERATION_HINT.equals( containerType)) { // Operation ChildLabelNode graphicalType = ElementTypes.CLASS_OPERATION_CLN.getSemanticHint(); } if (ElementTypes.CLASS_CN_COMPARTMENT_OPERATION_HINT.equals( containerType)) { // Operation ChildLabelNode graphicalType = ElementTypes.CLASS_OPERATION_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Interface) { if (ElementTypes.CLASS_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Interface ChildLabelNode graphicalType = ElementTypes.CLASS_INTERFACE_CLN.getSemanticHint(); } if (ElementTypes.CLASS_CN_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Interface ChildLabelNode graphicalType = ElementTypes.CLASS_INTERFACE_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Enumeration) { if (ElementTypes.CLASS_CN_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Enumeration ChildLabelNode graphicalType = ElementTypes.CLASS_ENUMERATION_CLN.getSemanticHint(); } if (ElementTypes.CLASS_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Enumeration ChildLabelNode graphicalType = ElementTypes.CLASS_ENUMERATION_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.PrimitiveType) { if (ElementTypes.CLASS_CN_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // PrimitiveType ChildLabelNode graphicalType = ElementTypes.CLASS_PRIMITIVE_TYPE_CLN.getSemanticHint(); } if (ElementTypes.CLASS_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // PrimitiveType ChildLabelNode graphicalType = ElementTypes.CLASS_PRIMITIVE_TYPE_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.DataType) { if (ElementTypes.CLASS_CN_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // DataType ChildLabelNode graphicalType = ElementTypes.CLASS_DATA_TYPE_CLN.getSemanticHint(); } if (ElementTypes.CLASS_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // DataType ChildLabelNode graphicalType = ElementTypes.CLASS_DATA_TYPE_CLN.getSemanticHint(); } } if (domainElement instanceof org.eclipse.uml2.uml.Signal) { if (ElementTypes.CLASS_CN_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Signal ChildLabelNode graphicalType = ElementTypes.CLASS_SIGNAL_CLN.getSemanticHint(); } if (ElementTypes.CLASS_COMPARTMENT_NESTED_CLASSIFIER_HINT.equals( containerType)) { // Signal ChildLabelNode graphicalType = ElementTypes.CLASS_SIGNAL_CLN.getSemanticHint(); } } return graphicalType; }