/******************************************************************************* * Copyright (c) 2005, 2010 Intel 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: * Intel Corporation - Initial API and implementation *******************************************************************************/ package org.eclipse.cdt.managedbuilder.core; /** * This interface represents an inputOrder instance in the managed build system. * This element is only present if the user or a tool integrator needs to define * the specific order of input files to a tool, or needs to exclude one or more * input files from being used by a tool. An inputType element can have * multiple inputOrder children. * * @since 3.0 * @noextend This class is not intended to be subclassed by clients. * @noimplement This interface is not intended to be implemented by clients. */ public interface IInputOrder { public static final String INPUT_ORDER_ELEMENT_NAME = "inputOrder"; //$NON-NLS-1$ public static final String PATH = "path"; //$NON-NLS-1$ public static final String ORDER = "order"; //$NON-NLS-1$ public static final String EXCLUDED = "excluded"; //$NON-NLS-1$ /** * Returns the InputType parent of this InputOrder. * * @return IInputType */ public IInputType getParent(); /** * Returns the relative or absolute path of the resource to which this element applies. * The resource must be a member of the project, or the output from another tool in the * tool-chain. * * @return String */ public String getPath(); /** * Sets the relative or absolute path of the resource to which this element applies. */ public void setPath(String path); /** * Returns a comma-separated list of integer values that specify the order of this resource. * In most cases, only a single integer value will be specified. A list is supported * for the case where a single input file needs to be specified multiple times on the * command line. The order numbers begin at 1. Not all values need to be specified. * Unordered resources will fill the first "gap". For example: * - To specify the first input file, use 1. * - To specify the last input file, without specifying an order for any other input file, use 2. * - To specify only the first two input files and last input file, use 1, 2 & 4. * * @return String */ public String getOrder(); /** * Sets the comma-separated list of integer values that specify the order of this resource. */ public void setOrder(String order); /** * Returns <code>true</code> if this resource is not used as an input for the tool. * * @return boolean */ public boolean getExcluded(); /** * Sets whether this resource is not used as an input for the tool. */ public void setExcluded(boolean excluded); /** * Returns <code>true</code> if this element has changes that need to * be saved in the project file, else <code>false</code>. * * @return boolean */ public boolean isDirty(); /** * Sets the element's "dirty" (have I been modified?) flag. */ public void setDirty(boolean isDirty); }