| /******************************************************************************* |
| * Copyright (c) 2007, 2010 BMW Car IT, Technische Universitaet Muenchen, 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: |
| * BMW Car IT - Initial API and implementation |
| * Technische Universitaet Muenchen - Major refactoring and extension |
| *******************************************************************************/ |
| package org.eclipse.emf.edapt.history.reconstruction; |
| |
| import org.eclipse.emf.edapt.internal.common.MetamodelExtent; |
| import org.eclipse.emf.edapt.spi.history.Change; |
| import org.eclipse.emf.edapt.spi.history.History; |
| import org.eclipse.emf.edapt.spi.history.Release; |
| |
| /** |
| * Reconstructor to follow the history of a metamodel |
| * |
| * @author herrmama |
| * @author $Author$ |
| * @version $Rev$ |
| * @levd.rating RED Rev: |
| */ |
| public interface IReconstructor { |
| |
| /** |
| * Initialization will be called at the very beginning of reconstruction |
| * |
| * @param mapping Mapping from old to new elements |
| * @param extent Extent |
| */ |
| public abstract void init(Mapping mapping, MetamodelExtent extent); |
| |
| /** |
| * Reconstruction of the history starts |
| * |
| * @param originalHistory Original history |
| */ |
| public abstract void startHistory(History originalHistory); |
| |
| /** |
| * Reconstruction of a release starts |
| * |
| * @param originalRelease Original release |
| */ |
| public abstract void startRelease(Release originalRelease); |
| |
| /** |
| * Reconstruction of a change starts |
| * |
| * @param originalChange Original change |
| */ |
| public abstract void startChange(Change originalChange); |
| |
| /** |
| * Reconstruction of a change is finished |
| * |
| * @param originalChange Original release |
| */ |
| public abstract void endChange(Change originalChange); |
| |
| /** |
| * Reconstruction of a release is finished |
| * |
| * @param originalRelease |
| */ |
| public abstract void endRelease(Release originalRelease); |
| |
| /** |
| * Reconstruction of the history is finished |
| * |
| * @param originalHistory Original history |
| */ |
| public abstract void endHistory(History originalHistory); |
| |
| } |