/**
 *  Copyright (c)2020 CEA LIST, Committer Name, and others.
 * 
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License 2.0
 *  which accompanies this distribution, and is available at
 *  https://www.eclipse.org/legal/epl-2.0/
 * 
 *  SPDX-License-Identifier: EPL-2.0
 * 
 *  Contributors:
 *  CEA LIST - Initial API and implementation
 *  Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
 * 
 */
package org.eclipse.papyrus.pdp4eng.designer.utils;

public class ModelProfileNames {
	
	public static String PDPbDProfileName = "pdp4engDesign";
	
	public static String commonGDPRProfileName = "pdp4engCommonGDPR";
	
	public static String PDPbD_Process = "Process";
	
	public static String PDPbD_CallProcess = "CallProcess";
	
	public static String PDPbD_DataStore = "DataStore";
	
	public static String PDPbD_ExternalEntity = "ExternalEntity";
	
	public static String PDPbD_Entity = "Entity";
	
	public static String PDPbD_DataInput = "DataInput";
	
	public static String PDPbD_DataOutput = "DataOutput";
	
	public static String commonGDPR_Purpose = "Purpose";
	
	public static String commonGDPR_Controller = "Controller";
	
	public static String commonGDPR_Processor = "Processor";
	
	public static String commonGDPR_DataSubject = "DataSubject";
	
	public static String commonGDPR_Process = "Process";
	
	public static String commonGDPR_PersonalData = "PersonalData";
	
	public static String commonGDPR_Consent = "Consent";
}
