package org.eclipse.jst.j2ee.internal.ui;

import org.eclipse.osgi.util.NLS;

public class Messages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.jst.j2ee.internal.ui.messages"; //$NON-NLS-1$
	public static String J2EEDependencyPageProvider_0;
	public static String J2EEDependencyPageProvider_1;
	public static String J2EEDependencyPageProvider_2;
	public static String J2EEDependencyPageProvider_3;
	public static String J2EEDependencyPageProvider_4;
	public static String J2EEDependencyPageProvider_5;
	public static String J2EEModuleDependenciesPropertyPage_0;
	public static String J2EEModuleDependenciesPropertyPage_1;
	public static String J2EEModuleDependenciesPropertyPage_2;
	public static String J2EEModuleDependenciesPropertyPage_3;
	public static String J2EEModuleDependenciesPropertyPage_4;
	public static String J2EEModuleDependenciesPropertyPage_5;
	public static String J2EEModuleDependenciesPropertyPage_6;
	public static String J2EEModuleDependenciesPropertyPage_ADVANCED;
	public static String J2EEModuleDependenciesPropertyPage_ADVANCED_DDFOLDER;
	public static String J2EEModuleDependenciesPropertyPage_ADVANCED_NODEFAULTDDFOLDER;
	public static String J2EEModuleDependenciesPropertyPage_ADVANCED_NODEFAULTDDFOLDERWARNING;

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

	private Messages() {
	}
}
