/******************************************************************************
 * Copyright (c) 2011 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 Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.stem.ui.adapters.loggerpropertyeditor;

import org.eclipse.osgi.util.NLS;

public class Messages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.stem.ui.adapters.loggerpropertyeditor.messages"; //$NON-NLS-1$
	public static String DecoratorPickerDialog_CancelButton;
	public static String DecoratorPickerDialog_DoneButton;
	public static String DPD_AddAllButton;
	public static String DPD_AddButton;
	public static String DPD_AvailableProperties;
	public static String DPD_Decorator;
	public static String DPD_Project;
	public static String DPD_RemoveAllButton;
	public static String DPD_RemoveButton;
	public static String DPD_SelectedProperties;
	public static String DPD_Title;
	public static String SLPE_CompartmentsToLog;
	public static String SLPE_PropertyStepMod;
	public static String SLPE_SelectCompartments;
	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
