blob: a3f92e3f1e44af4a5366c541753326c67ff79eeb [file] [log] [blame]
/*****************************************************************************
* Copyright (c) 2013 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* RĂ©gis CHEVREL: chevrel.regis <at> gmail.com
* CEA LIST - Initial API and implementation
*
*****************************************************************************/
package org.eclipse.papyrus.sysml.diagram.parametric.provider;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
/**
* This interface provides an API for accessing the local graphical type registry.
* This registry provides a graphical type for existing model elements.
*/
public interface IGraphicalTypeRegistry {
/** Constant for undefined graphical type */
public static final String UNDEFINED_TYPE = "undefined_type";
/**
* Get a valid edge graphical type for the domain element.
*
* @param domainElement
* the domain element.
* @return the domain element graphical type.
*/
public String getEdgeGraphicalType(EObject domainElement);
/**
* Get a valid edge graphical type for the element type.
*
* @param elementType
* the element type.
* @param containerType
* the type of the graphical owner of the domain element.
* @return the domain element graphical type.
*/
public String getEdgeGraphicalType(IElementType elementType);
/**
* Get a valid edge graphical type for the proposed type.
*
* @param proposedType
* the proposed type.
* @param containerType
* the type of the graphical owner of the domain element.
* @return the domain element graphical type.
*/
public String getEdgeGraphicalType(String proposedType);
/**
* Get a valid node graphical type for the domain element.
*
* @param domainElement
* the domain element.
* @param containerType
* the type of the graphical owner of the domain element.
* @return the domain element graphical type.
*/
public String getNodeGraphicalType(EObject domainElement, String containerType);
/**
* Get a valid node graphical type for the element type.
*
* @param elementType
* the element type.
* @param containerType
* the type of the graphical owner of the domain element.
* @return the domain element graphical type.
*/
public String getNodeGraphicalType(IElementType elementType, String containerType);
/**
* Get a valid node graphical type for the proposed type.
*
* @param proposedType
* the proposed type.
* @param containerType
* the type of the graphical owner of the domain element.
* @return the domain element graphical type.
*/
public String getNodeGraphicalType(String proposedType, String containerType);
/**
* Test if the type is a known edge graphical type in this diagram
*
* @param type
* the type to test
* @return true if the type is known
*/
public boolean isKnownEdgeType(String type);
/**
* Test if the type is a known node graphical type in this diagram
*
* @param type
* the type to test
* @return true if the type is known
*/
public boolean isKnownNodeType(String type);
}