/**
 * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf), Loetz GmbH&Co.KG (Heidelberg)
 * 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:
 *         Florian Pirchner - Initial implementation
 */

package org.eclipse.osbp.ecview.dsl;

import org.eclipse.xtext.junit4.IInjectorProvider;

import com.google.inject.Injector;

public class UIGrammarUiInjectorProvider implements IInjectorProvider {
	
	public Injector getInjector() {
		return org.eclipse.osbp.ecview.dsl.ui.internal.UIGrammarActivator.getInstance().getInjector("org.eclipse.osbp.ecview.dsl.UIGrammar");
	}
	
}
