/******************************************************************************* * Copyright (c) 2011 The University of York. * 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: * Louis Rose - initial API and implementation ******************************************************************************/ package simulator.persistence; import java.io.IOException; import java.io.Serializable; 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.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EOperation; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.resource.Resource; import simulator.scl.Action; import simulator.scl.ConfigPackage; import simulator.scl.Configuration; import simulator.scl.Constant; import simulator.scl.Mode; import simulator.scl.Variable; public class SerializableConfiguration implements Configuration, Serializable { // Generated by Eclipse private static final long serialVersionUID = 4064465039964350751L; private final SerializableEObject<Configuration> serializableConfiguration; public SerializableConfiguration(Configuration configuration) throws IOException { this.serializableConfiguration = new SerializableEObject<Configuration>(configuration); } public Configuration getConfiguration() { return serializableConfiguration.getEObject(ConfigPackage.eINSTANCE); } @Override public EList<Mode> getModes() { return getConfiguration().getModes(); } @Override public EList<Variable> getVariables() { return getConfiguration().getVariables(); } @Override public EList<Constant> getConstants() { return getConfiguration().getConstants(); } @Override public EList<Action> getEvents() { return getConfiguration().getEvents(); } @Override public EList<Adapter> eAdapters() { return getConfiguration().eAdapters(); } @Override public boolean eDeliver() { return getConfiguration().eDeliver(); } @Override public void eSetDeliver(boolean deliver) { getConfiguration().eSetDeliver(deliver); } @Override public void eNotify(Notification notification) { getConfiguration().eNotify(notification); } @Override public EClass eClass() { return getConfiguration().eClass(); } @Override public Resource eResource() { return getConfiguration().eResource(); } @Override public EObject eContainer() { return getConfiguration().eContainer(); } @Override public EStructuralFeature eContainingFeature() { return getConfiguration().eContainingFeature(); } @Override public EReference eContainmentFeature() { return getConfiguration().eContainmentFeature(); } @Override public EList<EObject> eContents() { return getConfiguration().eContents(); } @Override public TreeIterator<EObject> eAllContents() { return getConfiguration().eAllContents(); } @Override public boolean eIsProxy() { return getConfiguration().eIsProxy(); } @Override public EList<EObject> eCrossReferences() { return getConfiguration().eCrossReferences(); } @Override public Object eGet(EStructuralFeature feature) { return getConfiguration().eGet(feature); } @Override public Object eGet(EStructuralFeature feature, boolean resolve) { return getConfiguration().eGet(feature, resolve); } @Override public void eSet(EStructuralFeature feature, Object newValue) { getConfiguration().eSet(feature, newValue); } @Override public boolean eIsSet(EStructuralFeature feature) { return getConfiguration().eIsSet(feature); } @Override public void eUnset(EStructuralFeature feature) { getConfiguration().eUnset(feature); } @Override public Object eInvoke(EOperation operation, EList<?> arguments) throws InvocationTargetException { return getConfiguration().eInvoke(operation, arguments); } }