/*******************************************************************************
 * Copyright (c) 2015, 2019 Willink Transformations and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v20.html
 *
 * Contributors:
 *     E.D.Willink - initial API and implementation
 *******************************************************************************/
/*
 * generated by Xtext
 */
package org.eclipse.ocl.xtext.base.ui;

import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.ui.plugin.AbstractUIPlugin;

/**
 * Use this class to register components to be used within the IDE.
 */
public class BaseUiModule extends org.eclipse.ocl.xtext.base.ui.AbstractBaseUiModule
{
	public static final @NonNull String PLUGIN_ID = "org.eclipse.ocl.xtext.base.ui";
	public static final @NonNull String MARKER_ID = "org.eclipse.ocl.xtext.base.ui.Marker";

	public BaseUiModule(AbstractUIPlugin plugin) {
		super(plugin);
	}
}
