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

import org.eclipse.osgi.util.NLS;

public class Messages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.jst.j2ee.internal.ui.preferences.messages"; //$NON-NLS-1$
	public static String EarModuleDependenciesPropertyPage_0;
	public static String EarModuleDependenciesPropertyPage_1;
	public static String EarModuleDependenciesPropertyPage_2;
	public static String EarModuleDependenciesPropertyPage_3;
	public static String EarModuleDependenciesPropertyPage_4;
	public static String EarModuleDependencyPageProvider_0;
	public static String WebDependencyPropertyPage_0;
	public static String WebDependencyPropertyPage_1;
	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
