content: /*
   * (C) Jennic Ltd. 2008 All Rights Reserved
   * 
   */
  package oscfg.diagram.providers.assistants;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import org.eclipse.core.runtime.IAdaptable;
  import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
  import org.eclipse.gmf.runtime.emf.type.core.IElementType;
  
  import oscfg.diagram.edit.parts.MutexEditPart;
  import oscfg.diagram.providers.OscfgElementTypes;
  import oscfg.diagram.providers.OscfgModelingAssistantProvider;
  
  /**
   * @generated
   */
  public class OscfgModelingAssistantProviderOfMutexEditPart extends
  		OscfgModelingAssistantProvider {
  
  	/**
  	 * @generated
  	 */
  	@Override
  	public List<IElementType> getRelTypesOnTarget(IAdaptable target) {
  		IGraphicalEditPart targetEditPart = (IGraphicalEditPart) target
  				.getAdapter(IGraphicalEditPart.class);
  		return doGetRelTypesOnTarget((MutexEditPart) targetEditPart);
  	}
  
  	/**
  	 * @generated
  	 */
  	public List<IElementType> doGetRelTypesOnTarget(MutexEditPart target) {
  		List<IElementType> types = new ArrayList<IElementType>(1);
  		types.add(OscfgElementTypes.BaseTaskEnterExitMutex_4003);
  		return types;
  	}
  
  	/**
  	 * @generated
  	 */
  	@Override
  	public List<IElementType> getTypesForSource(IAdaptable target,
  			IElementType relationshipType) {
  		IGraphicalEditPart targetEditPart = (IGraphicalEditPart) target
  				.getAdapter(IGraphicalEditPart.class);
  		return doGetTypesForSource((MutexEditPart) targetEditPart,
  				relationshipType);
  	}
  
  	/**
  	 * @generated
  	 */
  	public List<IElementType> doGetTypesForSource(MutexEditPart target,
  			IElementType relationshipType) {
  		List<IElementType> types = new ArrayList<IElementType>();
  		if (relationshipType == OscfgElementTypes.BaseTaskEnterExitMutex_4003) {
  			types.add(OscfgElementTypes.Task_3010);
  			types.add(OscfgElementTypes.ISR_3011);
  			types.add(OscfgElementTypes.Task_3020);
  		}
  		return types;
  	}
  
  }
  