/******************************************************************************* * Copyright (c) 2008 Borland Software Corporation and others. * * 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: * Borland Software Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.m2m.internal.qvt.oml.evaluator; import org.eclipse.m2m.internal.qvt.oml.expressions.ModelParameter; import org.eclipse.m2m.internal.qvt.oml.expressions.OperationalTransformation; import org.eclipse.m2m.internal.qvt.oml.stdlib.CallHandler; public interface TransformationInstance extends ModuleInstance, ThisInstanceResolver { OperationalTransformation getTransformation(); ModelInstance getModel(ModelParameter modelParam); interface InternalTransformation extends Internal { /** * Binds a model extent with a model parameter of this transformation. * * @param parameter * the model parameter to be bound with the given extent * @param model * the model instance to be associated with the given * model parameter * * @throws IllegalArgumentException * in any argument is <code>null</code> or the given parameter * is not a model parameter of this transformation */ void setModel(ModelParameter parameter, ModelInstance model); /** * Get the model instance associated with intermedatiate extent, * in case that this transformation defines intermediate classes */ ModelInstance getIntermediateExtent(); void setTransformationHandler(CallHandler handler); CallHandler getTransformationHandler(); } }