/** * <copyright> * * Copyright (c) 2010-2016 Thales Global Services S.A.S. * 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: * Thales Global Services S.A.S. - initial API and implementation * * </copyright> */ package org.eclipse.emf.diffmerge.api; import org.eclipse.emf.diffmerge.api.diff.IDifference; /** * A decision maker about merging differences. * @see IComparison#merge(IMergeSelector, boolean, org.eclipse.core.runtime.IProgressMonitor) * @author Olivier Constant */ public interface IMergeSelector { /** * Return the role into which the given difference must be merged, if any. * Postcondition: result is in { TARGET, REFERENCE, null } * @param difference_p a non-null difference * @return a potentially null role, where null stands for no merge */ Role getMergeDirection(IDifference difference_p); }