/*******************************************************************************
 *  Copyright (c) 2000, 2009 IBM Corporation and others.
 *
 *  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:
 *  IBM - Initial API and implementation
 *******************************************************************************/
package org.eclipse.jdt.internal.debug.core.refactoring;

import org.eclipse.osgi.util.NLS;

public class RefactoringMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.jdt.internal.debug.core.refactoring.RefactoringMessages";//$NON-NLS-1$

	public static String ClassPrepareBreakpointTypeChange_0;

	public static String DeleteBreakpointChange_0;

	public static String ExceptionBreakpointTypeChange_0;

	public static String LaunchConfigurationProjectMainTypeChange_0;
	public static String LaunchConfigurationProjectMainTypeChange_1;
	public static String LaunchConfigurationProjectMainTypeChange_2;
	public static String LaunchConfigurationProjectMainTypeChange_3;
	public static String LaunchConfigurationProjectMainTypeChange_4;
	public static String LaunchConfigurationProjectMainTypeChange_5;
	public static String LaunchConfigurationProjectMainTypeChange_6;
	public static String LaunchConfigurationProjectMainTypeChange_7;

	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, RefactoringMessages.class);
	}

	public static String BreakpointRenameParticipant_0;
	public static String BreakpointRenameParticipant_1;
	public static String LaunchConfigurationParticipant_0;

	public static String LineBreakpointTypeChange_0;

	public static String LineBreakpointTypeChange_1;

	public static String MethodBreakpointMethodChange_0;

	public static String MethodBreakpointTypeChange_0;

	public static String MethodBreakpointTypeChange_1;

	public static String WatchpointFieldChange_0;

	public static String WatchpointTypeChange_0;

	public static String WatchpointTypeChange_1;

}
