| /******************************************************************************* |
| * Copyright (c) 2012 Obeo. |
| * 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: |
| * Obeo - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.emf.compare.match; |
| |
| import static com.google.common.base.Preconditions.checkNotNull; |
| |
| import org.eclipse.emf.compare.CompareFactory; |
| import org.eclipse.emf.compare.Comparison; |
| import org.eclipse.emf.compare.utils.IEqualityHelper; |
| |
| /** |
| * A default implementation of {@link IComparisonFactory} that creates a new {@link Comparison} through the |
| * {@link CompareFactory#eINSTANCE default CompareFactory}. |
| * |
| * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a> |
| */ |
| public class DefaultComparisonFactory implements IComparisonFactory { |
| |
| /** The factory used to instantiate IEqualityHelper to associate with Comparison. */ |
| private final IEqualityHelperFactory equalityHelperFactory; |
| |
| /** |
| * Creates a new DefaultComparisonFactory. |
| * |
| * @param equalityHelperFactory |
| * The factory used to instantiate IEqualityHelper to associate with Comparison. |
| */ |
| public DefaultComparisonFactory(IEqualityHelperFactory equalityHelperFactory) { |
| this.equalityHelperFactory = checkNotNull(equalityHelperFactory); |
| } |
| |
| /** |
| * {@inheritDoc} |
| * |
| * @see org.eclipse.emf.compare.match.IComparisonFactory#createComparison() |
| */ |
| public Comparison createComparison() { |
| Comparison comparison = CompareFactory.eINSTANCE.createComparison(); |
| |
| IEqualityHelper equalityHelper = equalityHelperFactory.createEqualityHelper(); |
| |
| comparison.eAdapters().add(equalityHelper); |
| equalityHelper.setTarget(comparison); |
| |
| return comparison; |
| } |
| |
| } |