com.microfocus.awm.internal.functionpackage.awm.tools

## Class LocalFileCreatorToolExecutor

- java.lang.Object
- - com.microfocus.awm.core.internal.util.AbstractConvertedToolExecutor
  - - com.microfocus.awm.internal.functionpackage.awm.tools.LocalFileCreatorToolExecutor

- All Implemented Interfaces:
    IToolExecutor2

      public class LocalFileCreatorToolExecutor
      extends AbstractConvertedToolExecutor

  The Local File Creator Tool is used to persistently create a local file in the TAURUS project in the workspace. The local file will be initialized by the contents of the file referenced by the Input Parameter that was also transferred as a Property of the File type. The path information for the local file will be internally flagged by the selected TAURUS Element and can be determined for later Tools by the Integrated Tool Local File Locator.

  Conditions:

  - An Element must be selected
  - A file input parameter, which references the source file, must be configured

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LocalFileCreatorToolExecutor()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IToolResult` | `executeMassProcessing(IMassProcessingToolContext pMassProcessingContext, org.eclipse.core.runtime.IProgressMonitor pMon)` Executes the tool for multiple resource.
    `IToolResult` | `executeSingleProcessing(IToolContext pToolContext, org.eclipse.core.runtime.IProgressMonitor pMon)` Executes the tool for a single resource.
    `boolean` | `supportsMassProcessing()` Whether the tool executor supports mass processing execution.

    - ### Methods inherited from class com.microfocus.awm.core.internal.util.AbstractConvertedToolExecutor

      `createToolContext`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.microfocus.awm.model.toolexecution.IToolExecutor2

      `init`

- - ### Constructor Detail

    - #### LocalFileCreatorToolExecutor

          public LocalFileCreatorToolExecutor()

  - ### Method Detail

    - #### executeSingleProcessing

          public IToolResult executeSingleProcessing(IToolContext pToolContext,
                                                     org.eclipse.core.runtime.IProgressMonitor pMon)
                                              throws TaurusToolException

      Description copied from interface: `IToolExecutor2`
      Executes the tool for a single resource.

      A tool typically obtains values of modeled attributes and input parameters through the `IToolContext` (or `ToolUtility` helper methods), runs its specific function and returns all results (including possible output parameters) in the `IToolResult`.

      This method gets called if the tool is being executed from an `ActionDescriptor` with the `Mass Processing` attribute set to `false` or if `IToolExecutor2.supportsMassProcessing()` returned `false`.

      The tool context contains all parameters, since their `Mass Processing` flags are ignored during single processing execution.

      Parameters:
        `pToolContext` - the tool context
        `pMon` - a progress monitor. Setting the monitor to `canceled` will cancel the action after the tool has been executed
      Returns:
        an `IToolResult`
      Throws:
        `TaurusToolException` - if the tool cannot be executed for any reason
      See Also:
        `ToolUtility`

    - #### executeMassProcessing

          public IToolResult executeMassProcessing(IMassProcessingToolContext pMassProcessingContext,
                                                   org.eclipse.core.runtime.IProgressMonitor pMon)
                                            throws TaurusToolException

      Description copied from interface: `IToolExecutor2`
      Executes the tool for multiple resource. In contrast to `IToolExecutor2.executeSingleProcessing(IToolContext, IProgressMonitor)` the tool executor can process multiple resources with a single call.

      If the tool executor does not support mass processing execution (by returning `false` with `IToolExecutor2.supportsMassProcessing()`), this method will never by called by AWM and can simply return `null`.

      The list of resources to be processed by the mass processing action can be obtained from the mass processing tool context via `IMassProcessingToolContext.getSubContexts()`.

      The `IMassProcessingToolContext` only contains parameters with the `Mass Processing` flag set to `false`. Mass processing parameters are contained by its sub-contexts.

      Parameters:
        `pMassProcessingContext` - the mass processing context
        `pMon` - a progress monitor. Setting the monitor to `canceled` will cancel the action after the tool has been executed
      Returns:
        an `IToolResult`. Can be `null` if `IToolExecutor2.supportsMassProcessing()` returned `false`
      Throws:
        `TaurusToolException` - if the tool cannot be executed for any reason
      See Also:
        `ToolUtility`

    - #### supportsMassProcessing

          public boolean supportsMassProcessing()

      Description copied from interface: `IToolExecutor2`
      Whether the tool executor supports mass processing execution. Returns `true` by default.

      If `false` is returned, the tool executor cannot effectively process multiple resources (e.g. selected elements). This can be intended for tools not directly processing selected elements. In this case AWM will always call `IToolExecutor2.executeSingleProcessing(IToolContext, IProgressMonitor)` and never `IToolExecutor2.executeMassProcessing(IMassProcessingToolContext, IProgressMonitor)`.

      If applicable, tool executors should always aim for implementing mass processing support, since it can increase their usability in AWM models.

      Returns:
        `true` if the tool supports mass processing, otherwise `false`

Copyright © 2015 Micro Focus GmbH. All rights reserved.