/******************************************************************************* * Copyright (c) 2010 Herman Lee. * 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: * Herman Lee - initial API and implementation ******************************************************************************/ package ca.uwaterloo.gsd.fsml.javaMappingInterpreter.analysis; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import ca.uwaterloo.gsd.fsml.core.FSMLMappingException; public interface IJavaImplVariantManager { /** * Called before starting the analysis, so that the manager has a chance to initialize */ public void init(); //the tear down method public void finish(); public EObject getModel(); public EClass getVariantEClass(String name) throws FSMLMappingException; public EObject getDefault(String eClass, String eStructuralFeature, String annotation) ; public String getVariantName(EObject variant); public void computeDefault(); public EReference getDefaultsReference() ; public EReference getVariantsReference() ; }