blob: fdeb27fc3a031aef97007a2c556e6c121d04fa96 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010-2014, Abel Hegedus, Istvan Rath and Daniel Varro
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-v20.html.
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
package org.eclipse.viatra.modelobfuscator.api
import org.eclipse.viatra.modelobfuscator.util.StringObfuscator
import java.util.Map
/**
* Model obfuscators are used to modify an input model to
* conceal all sensitive details (especially String attribute values)
* by replacing them with obfuscated values deterministically (to support restoration as well).
*
* @author Abel Hegedus
*
*/
interface ModelObfuscator {
/**
* Performs the obfuscation on the input model
*/
def void obfuscate()
/**
* Restores the obfuscated model as long as the obfuscator is
* configured by the same values as the one used for obfuscation.
*/
def void restore()
def StringObfuscator getStringObfuscator()
def Map<String,String> getObfuscationMap()
}