blob: e85b6ae10cb4fbbfbc5b1286a432fc0462498c89 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004-2008 Andras Schmidt, Andras Balogh, Istvan Rath and Daniel Varro
* 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:
* Andras Schmidt, Andras Balogh, Istvan Rath - initial API and implementation
*******************************************************************************/
package org.eclipse.viatra2.core;
import org.eclipse.viatra2.errors.VPMException;
import org.eclipse.viatra2.errors.VPMRuntimeException;
import org.eclipse.viatra2.framework.properties.VPMProperties;
import org.eclipse.viatra2.logger.Logger;
/**
* This interface defines the model merger interface for the Viatra core.
*
* @author Andras Balogh
*
*/
public interface IModelMerger {
/**
* Initializes the model merger.
*
* @param p
* - the collection of runtime properties
* @param l
* - the framework logger
* @param m
* - the owning modelspace
* @throws VPMRuntimeException
*/
public void init(Logger l, VPMProperties p, IModelSpace m)
throws VPMRuntimeException;
/**
* Mergers the current modelspace with an other one.
*
* @param m1
* - the modelspace to merge
* @throws VPMException
*/
public void merge(IModelSpace m1) throws VPMException;
}