/** | |
* 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.controller.api; | |
import org.eclipse.emf.common.command.Command; | |
import org.eclipse.emf.transaction.TransactionalEditingDomain; | |
import org.eclipse.uml2.uml.Action; | |
import org.eclipse.uml2.uml.Activity; | |
import org.eclipse.uml2.uml.OpaqueAction; | |
/** | |
* Interface that declares model transformation for Data | |
* | |
*/ | |
public interface IModelTransfo { | |
/** | |
* return a command to create an abstraction from a gieven Data | |
* @param domain | |
* @param data | |
* @return a command, it is never null | |
*/ | |
public Command getAbstractionDataCommand(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Element data); | |
/** | |
* Return a command that create a DFD in the design package (owner) from a DFD of the RequirementPackage | |
* @param domain domain to execute command | |
* @param owner a package that contain the new DFD | |
* @param reqSource the DFD source | |
* @return a command | |
*/ | |
public Command getCreateProcessModelFromReq(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Package owner,org.eclipse.uml2.uml.Activity ReqDFDSource); | |
/** | |
* Return a command that transform a process to a process call | |
* @param domain in order to execute the command | |
* @param process that will be transform into a call process | |
* @return the command | |
*/ | |
public Command getCallProcessToProcessCommand(TransactionalEditingDomain domain, OpaqueAction callProcess ); | |
/** | |
* Return a command that transform a process (Action) to a process call | |
* @param domain | |
* @param process | |
* @return | |
*/ | |
public Command getActionCallProcessToProcessCommand(TransactionalEditingDomain domain, Action actionCallProcess); | |
/** | |
* Return a command that transforms all the CallProcess within and Activity DFD to a Process (Activity) | |
* @param domain | |
* @param activityDFD | |
* @return | |
*/ | |
public Command getAllCallProcessToProcessCommand(TransactionalEditingDomain domain, Activity activityDFD); | |
/** | |
* Applies the PDPbDesign profile to an Activity diagram according to DFD definition | |
* @param domain | |
* @param activityDFD | |
* @return | |
*/ | |
public Command getApplyPDPbDProfileToActivityDFDCommand(TransactionalEditingDomain domain, Activity activityDFD); | |
/** | |
* Instantiate a GDPR pattern to ensure consent over personal data processed | |
* @param domain | |
* @param process | |
* @return | |
*/ | |
public Command getInstantiateGDPRConsentPatternCommand(TransactionalEditingDomain domain, Activity process); | |
} |