/*******************************************************************************
 * Copyright (c) 2016 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 Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.ant.internal.launching.remote;

/**
 * Common constants.
 */
public interface IAntCoreConstants {

	// default values
	public static final String DEFAULT_BUILD_FILENAME = "build.xml"; //$NON-NLS-1$

	// preferences
	public static final String PREFERENCE_TASKS = "tasks"; //$NON-NLS-1$
	public static final String PREFERENCE_TYPES = "types"; //$NON-NLS-1$

	public static final String PREFIX_TASK = "task."; //$NON-NLS-1$
	public static final String PREFIX_TYPE = "type."; //$NON-NLS-1$

	/**
	 * Preferences
	 * 
	 * @since 3.0
	 */
	public static final String PREFERENCE_ANT_HOME_ENTRIES = "ant_home_entries"; //$NON-NLS-1$
	public static final String PREFERENCE_ADDITIONAL_ENTRIES = "additional_entries"; //$NON-NLS-1$

	public static final String PREFERENCE_CLASSPATH_CHANGED = "classpath_changed"; //$NON-NLS-1$

	/**
	 * Preferences
	 * 
	 * @since 2.1
	 */
	public static final String PREFERENCE_ANT_HOME = "ant_home"; //$NON-NLS-1$
	public static final String PREFERENCE_PROPERTIES = "properties"; //$NON-NLS-1$
	public static final String PREFERENCE_PROPERTY_FILES = "propertyfiles"; //$NON-NLS-1$
	public static final String PREFIX_PROPERTY = "property."; //$NON-NLS-1$

	/**
	 * Constant representing the word 'id' <br>
	 * <br>
	 * Value is: <code>id</code>
	 * 
	 * @since 3.2.500
	 */
	public static final String ID = "id"; //$NON-NLS-1$

	/**
	 * Constant representing the word 'augment' <br>
	 * <br>
	 * Value is: <code>augment</code>
	 * 
	 * @since 3.2.500
	 */
	public static final String AUGMENT = "augment"; //$NON-NLS-1$

	/**
	 * Constant for the word 'default' <br>
	 * <br>
	 * Value is: <code>default</code>
	 * 
	 * @since org.eclipse.ant.core 3.2.200
	 */
	public static final String DEFAULT = "default"; //$NON-NLS-1$

	/**
	 * Constant for the word 'dir' <br>
	 * <br>
	 * Value is: <code>dir</code>
	 * 
	 * @since org.eclipse.ant.core 3.2.200
	 */
	public static final String DIR = "dir"; //$NON-NLS-1$

	/**
	 * Constant for the empty {@link String}
	 * 
	 * @since org.eclipse.ant.core 3.2.200
	 */
	public static final String EMPTY_STRING = ""; //$NON-NLS-1$

	/**
	 * Constant for the word 'file' <br>
	 * <br>
	 * Value is: <code>file</code>
	 * 
	 * @since org.eclipse.ant.core 3.2.200
	 */
	public static final String FILE = "file"; //$NON-NLS-1$

	/**
	 * Constant representing a file URL protocol <br>
	 * <br>
	 * Value is: <code>file:</code>
	 * 
	 * @since org.eclipse.ant.core 3.2.200
	 */
	public static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$

	/**
	 * Constant for the word 'description' <br>
	 * <br>
	 * Value is: <code>description</code>
	 * 
	 * @since org.eclipse.ant.core 3.2.200
	 */
	public static final String DESCRIPTION = "description"; //$NON-NLS-1$

	/**
	 * Constant for the encoding <code>UTF-8</code> <br>
	 * <br>
	 * Value is: <code>UTF-8</code>
	 * 
	 * @since org.eclipse.ant.core 3.3.0
	 */
	public static final String UTF_8 = "UTF-8"; //$NON-NLS-1$

	/**
	 * The name of the XML build file extension. <br>
	 * <br>
	 * Value is: <code>xml</code>
	 * 
	 * @since 3.8
	 */
	public static final String XML_EXTENSION = "xml"; //$NON-NLS-1$

	/**
	 * The name of the target vector property used by the Eclipse executor <br>
	 * <br>
	 * Value is: <code>eclipse.ant.targetVector</code>
	 * 
	 * @since 3.3.0
	 */
	public static final String TARGET_VECTOR_NAME = "eclipse.ant.targetVector"; //$NON-NLS-1$
}
