/*****************************************************************************
 * Copyright (c) 2013, 2017 CEA LIST and others.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *   CEA LIST - Initial API and implementation
 *   Eike Stepper (CEA) - bug 466520
 *****************************************************************************/
package org.eclipse.papyrus.cdo.internal.core.l10n;

import org.eclipse.osgi.util.NLS;

/**
 * This is the Messages type. Enjoy.
 */
public class Messages extends NLS {

	private static final String BUNDLE_NAME = "org.eclipse.papyrus.cdo.internal.core.l10n.messages"; //$NON-NLS-1$

	public static String AbstractModelImportMapping_0;

	public static String AbstractModelImportMapping_1;

	public static String AbstractModelTransferMapping_0;

	public static String AbstractModelTransferMapping_1;

	public static String AbstractModelTransferMapping_2;

	public static String CDOAwareModelSetServiceFactory_0;

	public static String CDOControlModeParticipant_commandLabel;

	public static String CDOUndoContext_0;

	public static String CommitException_0;

	public static String ModelExporter_0;

	public static String ModelExporter_1;

	public static String ModelExportMapping_0;

	public static String ModelExportMapping_1;

	public static String ModelExportMapping_2;

	public static String ModelExportMapping_3;

	public static String ModelImporter_10;

	public static String ModelImporter_4;

	public static String ModelImporter_5;

	public static String ModelImporter_6;

	public static String ModelImporter_9;

	public static String ModelTransferConfiguration_0;

	public static String ModelTransferConfiguration_1;

	public static String ModelTransferConfiguration_2;

	public static String ModelTransferConfiguration_3;

	public static String ModelTransferConfiguration_4;

	public static String ModelTransferConfiguration_6;

	public static String ModelTransferConfiguration_7;

	public static String ModelTransferNode_0;

	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
