org.eclipse.cdt.managedbuilder.core
Interface IInputType

All Superinterfaces:
IBuildObject
All Known Implementing Classes:
InputType

public interface IInputType
extends IBuildObject

This interface represents an inputType instance in the managed build system. It describes one category of input files to a Tool. A tool can have multiple inputType children.

Since:
3.0

Field Summary
static java.lang.String ASSIGN_TO_OPTION
           
static java.lang.String BUILD_VARIABLE
           
static java.lang.String DEPENDENCY_CONTENT_TYPE
           
static java.lang.String DEPENDENCY_EXTENSIONS
           
static java.lang.String HEADER_CONTENT_TYPE
           
static java.lang.String HEADERS
           
static java.lang.String INPUT_TYPE_ELEMENT_NAME
           
static java.lang.String LANGUAGE_ID
           
static java.lang.String LANGUAGE_INFO_CALCULATOR
           
static java.lang.String LANGUAGE_NAME
           
static java.lang.String MULTIPLE_OF_TYPE
           
static java.lang.String OPTION
           
static java.lang.String PRIMARY_INPUT
           
static java.lang.String SCANNER_CONFIG_PROFILE_ID
           
static java.lang.String SOURCE_CONTENT_TYPE
           
static java.lang.String SOURCES
           
 
Fields inherited from interface org.eclipse.cdt.managedbuilder.core.IBuildObject
ID, NAME
 
Method Summary
 IAdditionalInput createAdditionalInput(java.lang.String path)
          Creates an additionalInput child for this InputType.
 IInputOrder createInputOrder(java.lang.String path)
          Creates an inputOrder child for this InputType.
 org.eclipse.core.runtime.IPath[] getAdditionalDependencies()
          Returns all of the additional dependency resources of this InputType.
 IAdditionalInput getAdditionalInput(java.lang.String path)
          Returns the AdditionalInput element with the path specified in the argument.
 IAdditionalInput[] getAdditionalInputs()
          Returns all of the AdditionalInput children of this InputType
 org.eclipse.core.runtime.IPath[] getAdditionalResources()
          Returns all of the additional input resources of this InputType.
 java.lang.String getAssignToOptionId()
          Returns the id of the option whose value is to be assigned to the file(s) calculated for this input type.
 java.lang.String getBuildVariable()
          Returns the name of the build variable associated this this input type's resources The build variable used in the build file to represent the list of input files when multipleOfType is True.
 org.eclipse.core.runtime.content.IContentType getDependencyContentType()
          Returns the Eclipse IContentType that describes the dependency files of this input type.
 java.lang.String[] getDependencyExtensions(ITool tool)
          Returns the list of valid dependency extensions for this input type.
 java.lang.String[] getDependencyExtensionsAttribute()
          Returns the list of valid dependency extensions from the dependencyExtensions attribute.
 IManagedDependencyGeneratorType getDependencyGenerator()
          Returns a class instance that implements an interface to generate source-level dependencies for this input type.
 java.lang.String getDiscoveryProfileId(ITool tool)
           
 java.lang.String[] getHeaderContentTypeIds()
           
 org.eclipse.core.runtime.content.IContentType[] getHeaderContentTypes()
           
 java.lang.String[] getHeaderExtensions(ITool tool)
           
 java.lang.String[] getHeaderExtensionsAttribute()
           
 IInputOrder getInputOrder(java.lang.String path)
          Returns the InputOrder element with the path specified in the argument.
 IInputOrder[] getInputOrders()
          Returns all of the InputOrder children of this InputType
 java.lang.String getLanguageId(ITool tool)
           
 java.lang.String getLanguageName(ITool tool)
           
 boolean getMultipleOfType()
          Returns true if this inputType can contain multiple input resources, else false.
 java.lang.String getOptionId()
          Returns the id of the option that is associated with this input type on the command line.
 ITool getParent()
          Returns the tool parent of this InputType.
 boolean getPrimaryInput()
          Returns true if this inputType is considered the primary input of the tool, else false.
 org.eclipse.core.runtime.content.IContentType getSourceContentType()
          Returns the Eclipse IContentType that describes this input type.
 java.lang.String[] getSourceContentTypeIds()
           
 org.eclipse.core.runtime.content.IContentType[] getSourceContentTypes()
           
 java.lang.String[] getSourceExtensions(ITool tool)
          Returns the list of valid source extensions for this input type.
 java.lang.String[] getSourceExtensionsAttribute()
          Returns the list of valid source extensions from the sourceExtensions attribute.
 IInputType getSuperClass()
          Returns the IInputType that is the superclass of this InputType, or null if the attribute was not specified.
 boolean isDependencyExtension(ITool tool, java.lang.String ext)
          Answers true if the input type considers the file extension to be one associated with a dependency file.
 boolean isDirty()
          Returns true if this element has changes that need to be saved in the project file, else false.
 boolean isExtensionElement()
          Returns true if this InputType was loaded from a manifest file, and false if it was loaded from a project (.cdtbuild) file.
 boolean isSourceExtension(ITool tool, java.lang.String ext)
          Answers true if the input type considers the file extension to be one associated with a source file.
 void removeAdditionalInput(IAdditionalInput element)
          Removes the AdditionalInput element specified in the argument.
 void removeAdditionalInput(java.lang.String path)
          Removes the AdditionalInput element with the path specified in the argument.
 void removeInputOrder(IInputOrder element)
          Removes the InputOrder element specified in the argument.
 void removeInputOrder(java.lang.String path)
          Removes the InputOrder element with the path specified in the argument.
 void setAssignToOptionId(java.lang.String optionId)
          Sets the id of the option whose value is to be assigned to the file(s) calculated for this input type.
 void setBuildVariable(java.lang.String variableName)
          Sets the name of the build variable associated this this input type's resources
 void setDependencyContentType(org.eclipse.core.runtime.content.IContentType type)
          Sets the Eclipse IContentType that describes the dependency files of this input type.
 void setDependencyExtensionsAttribute(java.lang.String extensions)
          Sets the list of valid dependency extensions for this input type.
 void setDirty(boolean isDirty)
          Sets the element's "dirty" (have I been modified?)
 void setHeaderContentTypeIds(java.lang.String[] ids)
           
 void setHeaderExtensionsAttribute(java.lang.String[] extensions)
           
 void setLanguageIdAttribute(java.lang.String id)
           
 void setLanguageNameAttribute(java.lang.String name)
           
 void setMultipleOfType(boolean multiple)
          Sets whether this inputType can contain multiple input resources
 void setOptionId(java.lang.String optionId)
          Sets the id of the option that is associated with this input type on the command line.
 void setPrimaryInput(boolean primary)
          Sets whether this inputType is considered the primary input of the tool
 void setSourceContentType(org.eclipse.core.runtime.content.IContentType contentType)
          Sets the Eclipse IContentType that describes this input type.
 void setSourceContentTypeIds(java.lang.String[] ids)
           
 void setSourceExtensionsAttribute(java.lang.String extensions)
          Sets the list of valid source extensions for this input type.
 void setSourceExtensionsAttribute(java.lang.String[] extensions)
           
 
Methods inherited from interface org.eclipse.cdt.managedbuilder.core.IBuildObject
getBaseId, getId, getManagedBuildRevision, getName, getVersion, setVersion
 

Field Detail

INPUT_TYPE_ELEMENT_NAME

static final java.lang.String INPUT_TYPE_ELEMENT_NAME
See Also:
Constant Field Values

SOURCE_CONTENT_TYPE

static final java.lang.String SOURCE_CONTENT_TYPE
See Also:
Constant Field Values

HEADER_CONTENT_TYPE

static final java.lang.String HEADER_CONTENT_TYPE
See Also:
Constant Field Values

SOURCES

static final java.lang.String SOURCES
See Also:
Constant Field Values

HEADERS

static final java.lang.String HEADERS
See Also:
Constant Field Values

DEPENDENCY_CONTENT_TYPE

static final java.lang.String DEPENDENCY_CONTENT_TYPE
See Also:
Constant Field Values

DEPENDENCY_EXTENSIONS

static final java.lang.String DEPENDENCY_EXTENSIONS
See Also:
Constant Field Values

OPTION

static final java.lang.String OPTION
See Also:
Constant Field Values

ASSIGN_TO_OPTION

static final java.lang.String ASSIGN_TO_OPTION
See Also:
Constant Field Values

MULTIPLE_OF_TYPE

static final java.lang.String MULTIPLE_OF_TYPE
See Also:
Constant Field Values

PRIMARY_INPUT

static final java.lang.String PRIMARY_INPUT
See Also:
Constant Field Values

BUILD_VARIABLE

static final java.lang.String BUILD_VARIABLE
See Also:
Constant Field Values

LANGUAGE_ID

static final java.lang.String LANGUAGE_ID
See Also:
Constant Field Values

LANGUAGE_NAME

static final java.lang.String LANGUAGE_NAME
See Also:
Constant Field Values

LANGUAGE_INFO_CALCULATOR

static final java.lang.String LANGUAGE_INFO_CALCULATOR
See Also:
Constant Field Values

SCANNER_CONFIG_PROFILE_ID

static final java.lang.String SCANNER_CONFIG_PROFILE_ID
See Also:
Constant Field Values
Method Detail

createInputOrder

IInputOrder createInputOrder(java.lang.String path)
Creates an inputOrder child for this InputType.

Parameters:
path - The path associated with the InputOrder element
Returns:
IInputOrder of the new element

removeInputOrder

void removeInputOrder(java.lang.String path)
Removes the InputOrder element with the path specified in the argument.

Parameters:
path - The path associated with the InputOrder element

removeInputOrder

void removeInputOrder(IInputOrder element)
Removes the InputOrder element specified in the argument.

Parameters:
path - The InputOrder element

getInputOrders

IInputOrder[] getInputOrders()
Returns all of the InputOrder children of this InputType

Returns:
IInputOrder[]

getInputOrder

IInputOrder getInputOrder(java.lang.String path)
Returns the InputOrder element with the path specified in the argument.

Parameters:
path - The path associated with the InputOrder element
Returns:
IInputOrder

createAdditionalInput

IAdditionalInput createAdditionalInput(java.lang.String path)
Creates an additionalInput child for this InputType.

Parameters:
path - The path associated with the AdditionalInput element
Returns:
IAdditionalInput of the new element

removeAdditionalInput

void removeAdditionalInput(java.lang.String path)
Removes the AdditionalInput element with the path specified in the argument.

Parameters:
path - The path associated with the AdditionalInput element

removeAdditionalInput

void removeAdditionalInput(IAdditionalInput element)
Removes the AdditionalInput element specified in the argument.

Parameters:
element - The AdditionalInput element

getAdditionalInputs

IAdditionalInput[] getAdditionalInputs()
Returns all of the AdditionalInput children of this InputType

Returns:
IAdditionalInput[]

getAdditionalInput

IAdditionalInput getAdditionalInput(java.lang.String path)
Returns the AdditionalInput element with the path specified in the argument.

Parameters:
path - The path associated with the AdditionalInput element
Returns:
IAdditionalInput

getAdditionalResources

org.eclipse.core.runtime.IPath[] getAdditionalResources()
Returns all of the additional input resources of this InputType. Note: This does not include additional dependencies.

Returns:
IPath[]

getAdditionalDependencies

org.eclipse.core.runtime.IPath[] getAdditionalDependencies()
Returns all of the additional dependency resources of this InputType. Note: This does not include additional inputs.

Returns:
IPath[]

getParent

ITool getParent()
Returns the tool parent of this InputType.

Returns:
ITool

getSuperClass

IInputType getSuperClass()
Returns the IInputType that is the superclass of this InputType, or null if the attribute was not specified.

Returns:
IInputType

getSourceContentType

org.eclipse.core.runtime.content.IContentType getSourceContentType()
Returns the Eclipse IContentType that describes this input type. If both the sources attribute and the sourceContentType attribute are specified, the sourceContentType will be used if it is registered in Eclipse.

Returns:
IContentType

getSourceContentTypes

org.eclipse.core.runtime.content.IContentType[] getSourceContentTypes()

getHeaderContentTypes

org.eclipse.core.runtime.content.IContentType[] getHeaderContentTypes()

getSourceContentTypeIds

java.lang.String[] getSourceContentTypeIds()

getHeaderContentTypeIds

java.lang.String[] getHeaderContentTypeIds()

getHeaderExtensions

java.lang.String[] getHeaderExtensions(ITool tool)

getHeaderExtensionsAttribute

java.lang.String[] getHeaderExtensionsAttribute()

setSourceContentTypeIds

void setSourceContentTypeIds(java.lang.String[] ids)

setHeaderContentTypeIds

void setHeaderContentTypeIds(java.lang.String[] ids)

setSourceExtensionsAttribute

void setSourceExtensionsAttribute(java.lang.String[] extensions)

setHeaderExtensionsAttribute

void setHeaderExtensionsAttribute(java.lang.String[] extensions)

setSourceContentType

void setSourceContentType(org.eclipse.core.runtime.content.IContentType contentType)
Sets the Eclipse IContentType that describes this input type.

Parameters:
contentType - The Eclipse content type

getSourceExtensionsAttribute

java.lang.String[] getSourceExtensionsAttribute()
Returns the list of valid source extensions from the sourceExtensions attribute. Note that this value is not used if source content type is specified and registered with Eclipse. Also, the user will not be able to modify the set of file extensions as they can when sourceContentType is specified.

Returns:
String[]

setSourceExtensionsAttribute

void setSourceExtensionsAttribute(java.lang.String extensions)
Sets the list of valid source extensions for this input type. NOTE: The value of this attribute will NOT be used if a source content type is specified and is registered with Eclipse.

Parameters:
extensions - The comma-separated list of valid file extensions - not including the separator period.

getSourceExtensions

java.lang.String[] getSourceExtensions(ITool tool)
Returns the list of valid source extensions for this input type. Note that the list will come from the sourceContentType if it is specified and registered with Eclipse. Otherwise the sourceExtensions attribute will be used.

Parameters:
tool - the tool that contains the input-type
Returns:
String[]

isSourceExtension

boolean isSourceExtension(ITool tool,
                          java.lang.String ext)
Answers true if the input type considers the file extension to be one associated with a source file.

Parameters:
tool - the tool that contains the input-type
ext - file extension of the source
Returns:
boolean

getDependencyContentType

org.eclipse.core.runtime.content.IContentType getDependencyContentType()
Returns the Eclipse IContentType that describes the dependency files of this input type. If both the dependencyExtensions attribute and the dependencyContentType attribute are specified, the dependencyContentType will be used if it is defined in Eclipse.

Returns:
IContentType

setDependencyContentType

void setDependencyContentType(org.eclipse.core.runtime.content.IContentType type)
Sets the Eclipse IContentType that describes the dependency files of this input type.


getDependencyExtensionsAttribute

java.lang.String[] getDependencyExtensionsAttribute()
Returns the list of valid dependency extensions from the dependencyExtensions attribute. Note that this value is not used if dependency content type is specified and registered with Eclipse. Also, the user will not be able to modify the set of file extensions as they can when dependencyContentType is specified.

Returns:
String[]

setDependencyExtensionsAttribute

void setDependencyExtensionsAttribute(java.lang.String extensions)
Sets the list of valid dependency extensions for this input type. NOTE: The value of this attribute will NOT be used if a dependency content type is specified and is registered with Eclipse.

Parameters:
extensions - The comma-separated list of valid dependency extensions - not including the separator period.

getDependencyExtensions

java.lang.String[] getDependencyExtensions(ITool tool)
Returns the list of valid dependency extensions for this input type. Note that the list will come from the dependencyContentType if it is specified and registered with Eclipse. Otherwise the dependencyExtensions attribute will be used.

Parameters:
tool - the tool that contains the input-type
Returns:
String[]

isDependencyExtension

boolean isDependencyExtension(ITool tool,
                              java.lang.String ext)
Answers true if the input type considers the file extension to be one associated with a dependency file.

Parameters:
tool - the tool that contains the input-type
ext - file extension of the source
Returns:
boolean

getOptionId

java.lang.String getOptionId()
Returns the id of the option that is associated with this input type on the command line. If specified, the name(s) of the input files for this input type are taken from the value specified for the option.

Returns:
String

setOptionId

void setOptionId(java.lang.String optionId)
Sets the id of the option that is associated with this input type on the command line. If specified, the name(s) of the input files for this input type are taken from the value specified for the option.

Parameters:
optionId -

getAssignToOptionId

java.lang.String getAssignToOptionId()
Returns the id of the option whose value is to be assigned to the file(s) calculated for this input type. The default is not to assign the input file(s) to a command line option but to assign the files to the ${Inputs} part of the command line. Note that the option value is only updated during build file generation and therefore could be out of sync with the project until build file generation occurs.

Returns:
String

setAssignToOptionId

void setAssignToOptionId(java.lang.String optionId)
Sets the id of the option whose value is to be assigned to the file(s) calculated for this input type. The default is not to assign the input file(s) to a command line option but to assign the files to the ${Inputs} part of the command line. Note that the option value is only updated during build file generation and therefore could be out of sync with the project until build file generation occurs.

Parameters:
optionId -

getMultipleOfType

boolean getMultipleOfType()
Returns true if this inputType can contain multiple input resources, else false. The inputs can be project resources, or the outputs of other tools in the tool-chain.

Returns:
boolean

setMultipleOfType

void setMultipleOfType(boolean multiple)
Sets whether this inputType can contain multiple input resources

Parameters:
multiple -

getPrimaryInput

boolean getPrimaryInput()
Returns true if this inputType is considered the primary input of the tool, else false.

Returns:
boolean

setPrimaryInput

void setPrimaryInput(boolean primary)
Sets whether this inputType is considered the primary input of the tool

Parameters:
primary -

getDependencyGenerator

IManagedDependencyGeneratorType getDependencyGenerator()
Returns a class instance that implements an interface to generate source-level dependencies for this input type. This method may return null in which case, the receiver should assume that the input type does not require dependency information when the project is built.

Returns:
IManagedDependencyGeneratorType

getBuildVariable

java.lang.String getBuildVariable()
Returns the name of the build variable associated this this input type's resources The build variable used in the build file to represent the list of input files when multipleOfType is True. The same variable name can be used by an outputType to identify a set of output files that contribute to this tool�s input (i.e., those using the same buildVariable name). The default name is chosen by MBS.

Returns:
String

setBuildVariable

void setBuildVariable(java.lang.String variableName)
Sets the name of the build variable associated this this input type's resources


isDirty

boolean isDirty()
Returns true if this element has changes that need to be saved in the project file, else false.

Returns:
boolean

isExtensionElement

boolean isExtensionElement()
Returns true if this InputType was loaded from a manifest file, and false if it was loaded from a project (.cdtbuild) file.

Returns:
boolean

setDirty

void setDirty(boolean isDirty)
Sets the element's "dirty" (have I been modified?) flag.

Parameters:
isDirty -

getLanguageId

java.lang.String getLanguageId(ITool tool)

getLanguageName

java.lang.String getLanguageName(ITool tool)

getDiscoveryProfileId

java.lang.String getDiscoveryProfileId(ITool tool)

setLanguageIdAttribute

void setLanguageIdAttribute(java.lang.String id)

setLanguageNameAttribute

void setLanguageNameAttribute(java.lang.String name)