/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.diagram.ui.notation.uml.model; import org.eclipse.emf.ecore.EObject; import org.teiid.designer.core.metamodel.aspect.uml.UmlDiagramAspect; import org.teiid.designer.diagram.ui.model.AbstractDiagramModelNode; import org.teiid.designer.metamodels.diagram.Diagram; /** * @author mdrilling * * Model Node for UML Classifier. * * @since 8.0 */ abstract public class UmlModelNode extends AbstractDiagramModelNode { protected UmlDiagramAspect aspect; public UmlModelNode( Diagram diagramModelObject, EObject modelObject, UmlDiagramAspect aspect ) { super( diagramModelObject, modelObject ); this.aspect = aspect; } public UmlModelNode( EObject modelObject, UmlDiagramAspect aspect ) { super( modelObject ); this.aspect = aspect; } public UmlModelNode( Diagram diagramModelObject, EObject modelObject, UmlDiagramAspect aspect, boolean isNested ) { super( diagramModelObject, modelObject, !isNested ); this.aspect = aspect; } // public String getName() { // return aspect.getSignature(getModelObject(),UmlClassifier.SIGNATURE_NAME); // } // /** * Return the Visibility constant for the given eObject * @return the visibility string */ public String getVisibility() { int iVis = aspect.getVisibility(getModelObject()); String visibility = ""; //$NON-NLS-1$ switch (iVis) { case UmlDiagramAspect.VISIBILITY_PRIVATE: visibility="private"; //$NON-NLS-1$ break; case UmlDiagramAspect.VISIBILITY_PROTECTED: visibility="protected"; //$NON-NLS-1$ break; case UmlDiagramAspect.VISIBILITY_PUBLIC: visibility="public"; //$NON-NLS-1$ break; default: break; } return visibility; } /** * Return the Sterotype string for this ModelNode * @return the Sterotype string */ public String getStereotype( ) { String sterotypeString = null; if( getModelObject() != null && aspect != null ) { String subString = aspect.getStereotype(getModelObject()); if( subString != null && subString.length() > 0) sterotypeString = "<<" + subString + ">>"; //$NON-NLS-2$ //$NON-NLS-1$ } return sterotypeString; } public String getLocation() { return "location"; //$NON-NLS-1$ } public UmlDiagramAspect getUmlAspect() { return this.aspect; } }