package org.eclipse.papyrus.bpmn.architecture; /*****************************************************************************
 * Copyright (c) 2017 CEA LIST and others.
 * 
 * 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:
 *   CEA LIST - Initial API and implementation
 *   
 *****************************************************************************/


public final class BpmnRepresentationKinds {
	
	/*
	 * These ID are the same than those defined in viewpoints/bpmn.configuration
	 * 
	 */
	public static final String COLLABORATION_ID = "org.eclipse.papyrus.bpmn.diagram.collaboration";
	public static final String PROCESS_ID = "org.eclipse.papyrus.bpmn.diagram.process";
	
	private BpmnRepresentationKinds(){
	}

}
