/*******************************************************************************
* Copyright (c) 2010-2015 Henshin developers. 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:
* TU Berlin, University of Luxembourg, SES S.A.
*******************************************************************************/
package de.tub.tfs.muvitor.ui.utils;
import java.lang.reflect.InvocationTargetException;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EAnnotation;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EFactory;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.resource.Resource;
final class DelegatingEFactory extends EFactoryImpl {
private EFactory delegate;
private EPackage delegatePackage;
public DelegatingEFactory(EFactory delegate,EPackage del) {
this.delegate = delegate;
this.delegatePackage = del;
}
@Override
public EObject create(EClass eClass) {
if (EMFModelManager.replacedClasses.contains(eClass))
return eClass.getEPackage().getEFactoryInstance().create(eClass);
return delegate.create(eClass);
}
@Override
public EList<EAnnotation> getEAnnotations() {
// TODO Auto-generated method stub
return delegate.getEAnnotations();
}
@Override
public EAnnotation getEAnnotation(String source) {
// TODO Auto-generated method stub
return delegate.getEAnnotation(source);
}
@Override
public EClass eClass() {
// TODO Auto-generated method stub
return delegate.eClass();
}
@Override
public Resource eResource() {
// TODO Auto-generated method stub
return delegate.eResource();
}
@Override
public EObject eContainer() {
// TODO Auto-generated method stub
return delegate.eContainer();
}
@Override
public EStructuralFeature eContainingFeature() {
// TODO Auto-generated method stub
return delegate.eContainingFeature();
}
@Override
public EReference eContainmentFeature() {
// TODO Auto-generated method stub
return delegate.eContainmentFeature();
}
@Override
public EList<EObject> eContents() {
// TODO Auto-generated method stub
return delegate.eContents();
}
@Override
public TreeIterator<EObject> eAllContents() {
// TODO Auto-generated method stub
return delegate.eAllContents();
}
@Override
public boolean eIsProxy() {
// TODO Auto-generated method stub
return delegate.eIsProxy();
}
@Override
public EList<EObject> eCrossReferences() {
// TODO Auto-generated method stub
return delegate.eCrossReferences();
}
@Override
public Object eGet(EStructuralFeature feature) {
// TODO Auto-generated method stub
return delegate.eGet(feature);
}
@Override
public Object eGet(EStructuralFeature feature, boolean resolve) {
// TODO Auto-generated method stub
return delegate.eGet(feature, resolve);
}
@Override
public void eSet(EStructuralFeature feature, Object newValue) {
delegate.eSet(feature, newValue);
}
@Override
public boolean eIsSet(EStructuralFeature feature) {
// TODO Auto-generated method stub
return delegate.eIsSet(feature);
}
@Override
public void eUnset(EStructuralFeature feature) {
delegate.eUnset(feature);
}
@Override
public Object eInvoke(EOperation operation, EList<?> arguments)
throws InvocationTargetException {
return delegate.eInvoke(operation, arguments);
}
@Override
public EList<Adapter> eAdapters() {
// TODO Auto-generated method stub
return delegate.eAdapters();
}
@Override
public boolean eDeliver() {
// TODO Auto-generated method stub
return delegate.eDeliver();
}
@Override
public void eSetDeliver(boolean deliver) {
delegate.eSetDeliver(deliver);
}
@Override
public void eNotify(Notification notification) {
delegate.eNotify(notification);
}
@Override
public EPackage getEPackage() {
// TODO Auto-generated method stub
return delegatePackage;
}
@Override
public void setEPackage(EPackage value) {
delegate.setEPackage(value);
}
@Override
public Object createFromString(EDataType eDataType, String literalValue) {
// TODO Auto-generated method stub
return delegate.createFromString(eDataType, literalValue);
}
@Override
public String convertToString(EDataType eDataType, Object instanceValue) {
// TODO Auto-generated method stub
return delegate.convertToString(eDataType, instanceValue);
}
}