Package org.eclipse.cdt.core.build

## Interface IToolChainManager

    public interface IToolChainManager

The global toolchain manager. Accessed as an OSGi service.

Since:
  6.0
Restriction:
  This interface is not intended to be implemented by clients.

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
`void` `addToolChain​(IToolChain toolChain)` Add a toolchain.
`void` `addToolChainListener​(org.eclipse.core.runtime.ISafeRunnable listener)` Add a listener for toolchains added or removed.
`Collection<IToolChain>` `getAllToolChains()` Return all of the toolchains.
`IToolChainProvider` `getProvider​(String providerId)` Return the provider with the given id
`IToolChain` `getToolChain​(String typeId, String id)` Return the toolChain with the given type and id.
`default IToolChain` `getToolChain​(String providerId, String id, String version)` Deprecated. version is now irrelevant.
`default Collection<IToolChain>` `getToolChains​(String providerId)` Deprecated. we no longer organize toolchains by provider id.
`default Collection<IToolChain>` `getToolChains​(String providerId, String id)` Deprecated. toolchains no longer have multiple versions per id
`Collection<IToolChain>` `getToolChainsMatching​(Map<String,​String> properties)` Returns the list of toolchains that have the given properties.
`String` `getToolChainTypeName​(String typeId)` Return the UI label for the toolchain type.
`void` `removeToolChain​(IToolChain toolChain)` Remove a toolchain
`void` `removeToolChainListener​(org.eclipse.core.runtime.ISafeRunnable listener)` Remove a listener.
`void` `setToolChainOrder​(List<IToolChain> orderedToolchains)` Set the preference order of the toolchains.

### Method Detail

#### getProvider

    IToolChainProvider getProvider​(String providerId)
                            throws org.eclipse.core.runtime.CoreException

Return the provider with the given id

Parameters:
  `providerId` - id
Returns:
  provider
Throws:
  `org.eclipse.core.runtime.CoreException`

#### getToolChainTypeName

    String getToolChainTypeName​(String typeId)

Return the UI label for the toolchain type.

Parameters:
  `typeId` - type toolchain type id
Returns:
  name of the type
Since:
  6.4

#### getToolChain

    @Deprecated
    default IToolChain getToolChain​(String providerId,
                                    String id,
                                    String version)
                             throws org.eclipse.core.runtime.CoreException

Deprecated.
version is now irrelevant. id's are unique.
Return the toolchain from the given provider with the given id and version.

Parameters:
  `providerId` - id of provider
  `id` - id of toolchain
  `version` - version of toolchain
Returns:
  the toolchain
Throws:
  `org.eclipse.core.runtime.CoreException`

#### getToolChain

    IToolChain getToolChain​(String typeId,
                            String id)
                     throws org.eclipse.core.runtime.CoreException

Return the toolChain with the given type and id.

Parameters:
  `typeId` - id of toolchain type
  `id` - id of toolchain
Returns:
  the toolchain
Throws:
  `org.eclipse.core.runtime.CoreException`
Since:
  6.4

#### getToolChains

    @Deprecated
    default Collection<IToolChain> getToolChains​(String providerId)
                                          throws org.eclipse.core.runtime.CoreException

Deprecated.
we no longer organize toolchains by provider id.
Return the toolchains provided by the given provider

Parameters:
  `providerId` - id of provider
Returns:
  toolchains the provider provides
Throws:
  `org.eclipse.core.runtime.CoreException`

#### getToolChains

    @Deprecated
    default Collection<IToolChain> getToolChains​(String providerId,
                                                 String id)
                                          throws org.eclipse.core.runtime.CoreException

Deprecated.
toolchains no longer have multiple versions per id
Return all versions of toolchains with the given id provided by the given provider.

Parameters:
  `providerId` - id of provider
  `id` - id of toolchains
Returns:
  toolchains with the given id provided by the provider
Throws:
  `org.eclipse.core.runtime.CoreException`

#### getToolChainsMatching

    Collection<IToolChain> getToolChainsMatching​(Map<String,​String> properties)
                                          throws org.eclipse.core.runtime.CoreException

Returns the list of toolchains that have the given properties.

Parameters:
  `properties` - properties of the toolchains
Returns:
  the qualified toolchains
Throws:
  `org.eclipse.core.runtime.CoreException`

#### getAllToolChains

    Collection<IToolChain> getAllToolChains()
                                     throws org.eclipse.core.runtime.CoreException

Return all of the toolchains.

Throws:
  `org.eclipse.core.runtime.CoreException`
Since:
  6.4

#### setToolChainOrder

    void setToolChainOrder​(List<IToolChain> orderedToolchains)
                    throws org.eclipse.core.runtime.CoreException

Set the preference order of the toolchains. This controls the order toolchains are returned in the other methods in this interface. Often, the first toolchain in a list is the default toolchain to use in a build configuration.

Parameters:
  `orderedToolchains` -
Throws:
  `org.eclipse.core.runtime.CoreException`
Since:
  6.4

#### addToolChain

    void addToolChain​(IToolChain toolChain)

Add a toolchain.

Parameters:
  `toolChain` - the toolchain

#### removeToolChain

    void removeToolChain​(IToolChain toolChain)

Remove a toolchain

Parameters:
  `toolChain` - the toolchain

#### addToolChainListener

    void addToolChainListener​(org.eclipse.core.runtime.ISafeRunnable listener)

Add a listener for toolchains added or removed. The listener is a simple runnable that is called when an event occurs.

Parameters:
  `listener` - runnable that is called when a toolchain is added or removed
Since:
  6.4

#### removeToolChainListener

    void removeToolChainListener​(org.eclipse.core.runtime.ISafeRunnable listener)

Remove a listener.

Parameters:
  `listener` - the listener to remove
Since:
  6.4