blob: dcd873a6a006b7871bb2caf1cb24004e96cdc187 [file] [log] [blame]
/**
* <copyright>
*
* Copyright (c) 2015 itemis and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
*
* Contributors:
* itemis - Initial API and implementation
*
* </copyright>
*/
package org.eclipse.sphinx.emf.compare.domain;
import java.util.List;
import org.eclipse.emf.common.command.BasicCommandStack;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.compare.Diff;
import org.eclipse.emf.compare.command.ICompareCommandStack;
import org.eclipse.emf.compare.command.ICompareCopyCommand;
import org.eclipse.emf.compare.command.impl.CompareCommandStack;
import org.eclipse.emf.compare.domain.ICompareEditingDomain;
import org.eclipse.emf.compare.domain.IMergeRunnable;
import org.eclipse.emf.compare.merge.IMerger.Registry;
import org.eclipse.emf.ecore.change.util.ChangeRecorder;
public class DelegatingEMFCompareEditingDomain implements ICompareEditingDomain {
private ICompareEditingDomain delegate;
public DelegatingEMFCompareEditingDomain() {
}
public DelegatingEMFCompareEditingDomain(ICompareEditingDomain delegate) {
this.delegate = delegate;
}
public ICompareEditingDomain getDelegate() {
return delegate;
}
public void setDelegate(ICompareEditingDomain delegate) {
this.delegate = delegate;
}
@Override
public ICompareCommandStack getCommandStack() {
if (delegate != null) {
return delegate.getCommandStack();
}
return new CompareCommandStack(new BasicCommandStack());
}
@Override
public ChangeRecorder getChangeRecorder() {
if (delegate != null) {
return delegate.getChangeRecorder();
}
return null;
}
@Override
public Command createCopyCommand(List<? extends Diff> differences, boolean leftToRight, Registry mergerRegistry) {
if (delegate != null) {
return delegate.createCopyCommand(differences, leftToRight, mergerRegistry);
}
return null;
}
@Override
public ICompareCopyCommand createCopyCommand(List<? extends Diff> differences, boolean leftToRight, Registry mergerRegistry,
IMergeRunnable runnable) {
if (delegate != null) {
return delegate.createCopyCommand(differences, leftToRight, mergerRegistry, runnable);
}
return null;
}
}