| /** |
| * <copyright> |
| * Copyright (c) 2010-2014 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 |
| * </copyright> |
| */ |
| package org.eclipse.emf.henshin.interpreter.impl; |
| |
| import org.eclipse.emf.henshin.interpreter.ApplicationMonitor; |
| import org.eclipse.emf.henshin.interpreter.Assignment; |
| import org.eclipse.emf.henshin.interpreter.EGraph; |
| import org.eclipse.emf.henshin.interpreter.Engine; |
| import org.eclipse.emf.henshin.interpreter.InterpreterFactory; |
| import org.eclipse.emf.henshin.interpreter.Match; |
| import org.eclipse.emf.henshin.interpreter.RuleApplication; |
| import org.eclipse.emf.henshin.interpreter.UnitApplication; |
| import org.eclipse.emf.henshin.model.Rule; |
| import org.eclipse.emf.henshin.model.Unit; |
| |
| /** |
| * Default {@link InterpreterFactory} implementation. |
| * |
| * @author Christian Krause |
| */ |
| public class InterpreterFactoryImpl implements InterpreterFactory { |
| |
| /* |
| * (non-Javadoc) |
| * @see org.eclipse.emf.henshin.interpreter.InterpreterFactory#createEGraph() |
| */ |
| @Override |
| public EGraph createEGraph() { |
| return new EGraphImpl(); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * @see org.eclipse.emf.henshin.interpreter.InterpreterFactory#createAssignment(org.eclipse.emf.henshin.model.Unit, boolean) |
| */ |
| @Override |
| public Assignment createAssignment(Unit unit, boolean isResultAssignment) { |
| return new AssignmentImpl(unit, isResultAssignment); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * @see org.eclipse.emf.henshin.interpreter.InterpreterFactory#createMatch(org.eclipse.emf.henshin.model.Rule, boolean) |
| */ |
| @Override |
| public Match createMatch(Rule rule, boolean isResultMatch) { |
| return new MatchImpl(rule, isResultMatch); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * @see org.eclipse.emf.henshin.interpreter.InterpreterFactory#createEngine() |
| */ |
| @Override |
| public Engine createEngine() { |
| return new EngineImpl(); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * @see org.eclipse.emf.henshin.interpreter.InterpreterFactory#createUnitApplication(org.eclipse.emf.henshin.interpreter.Engine) |
| */ |
| @Override |
| public UnitApplication createUnitApplication(Engine engine) { |
| return new UnitApplicationImpl(engine); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * @see org.eclipse.emf.henshin.interpreter.InterpreterFactory#createRuleApplication(org.eclipse.emf.henshin.interpreter.Engine) |
| */ |
| @Override |
| public RuleApplication createRuleApplication(Engine engine) { |
| return new RuleApplicationImpl(engine); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * @see org.eclipse.emf.henshin.interpreter.InterpreterFactory#createApplicationMonitor() |
| */ |
| @Override |
| public ApplicationMonitor createApplicationMonitor() { |
| return new BasicApplicationMonitor(); |
| } |
| |
| } |