/**********************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved. This
 * program and the accompanying materials are made available under the terms of
 * the Eclipse Public License v1.0 which accompanies this distribution, and is
 * available at http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors: 
 * IBM - Initial API and implementation
 **********************************************************************/
package org.eclipse.ant.internal.ui.model;

import org.eclipse.osgi.util.NLS;

public class AntModelMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.model.AntModelMessages";//$NON-NLS-1$

	public static String AntTargetNode_2;
	public static String AntImportNode_0;
	public static String AntTaskNode_0;
	public static String AntElementNode_9;

	public static String AntModel_1;
	public static String AntModel_43;
	public static String AntModel_44;
	public static String AntProjectNodeProxy_0;
	public static String AntProjectNodeProxy_1;
	public static String AntDefiningTaskNode_0;
	public static String AntDefiningTaskNode_1;
	public static String AntProjectNode_0;
	public static String AntPropertyNode_0;
	public static String AntPropertyNode_1;

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