Package org.apache.torque.generator.control

## Class Controller

- java.lang.Object
- - org.apache.torque.generator.control.Controller

-     public class Controller
      extends Object

  Reads the configuration and generates the output accordingly.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `LAST_SOURCE_CHANGE_CACHE_FILE` | The file in the work directory where last source changes are stored.
    `static String` | `NO_CHECKSUM_CONTENT` | The content of checksum files if no checksum can be computed.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Controller()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `checkLogging()` | Initializes the Logging.
    `protected void` | `createOutputFilename​(Output output, ControllerState controllerState)` | Creates the output file name and sets it in the output.
    `protected void` | `processGenerationUnit​(ControllerState controllerState, UnitConfiguration unitConfiguration)` | Processes a unit of generation.
    `void` | `run​(List<UnitDescriptor> unitDescriptors)` | Executes the controller action.
    `Object` | `transformSource​(Object sourceRoot, List<SourceTransformerDefinition> transformerDefinitions, ControllerState controllerState)` | Applies all transformer definitions to the current source.

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

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

- - ### Field Detail

    - #### LAST_SOURCE_CHANGE_CACHE_FILE

          public static final String LAST_SOURCE_CHANGE_CACHE_FILE

      The file in the work directory where last source changes are stored.
      See Also:
        Constant Field Values

    - #### NO_CHECKSUM_CONTENT

          public static final String NO_CHECKSUM_CONTENT

      The content of checksum files if no checksum can be computed.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Controller

          public Controller()

  - ### Method Detail

    - #### run

          public void run​(List<UnitDescriptor> unitDescriptors)
                   throws GeneratorException

      Executes the controller action.
      Parameters:
        `unitDescriptors` - the units of generation to execute.
      Throws:
        `ControllerException` - if a ControllerException occurs during processing.
        `ConfigurationException` - if a ConfigurationException occurs during processing.
        `GeneratorException` - if a OutletException occurs during processing.

    - #### checkLogging

          protected void checkLogging()

      Initializes the Logging.

    - #### processGenerationUnit

          protected void processGenerationUnit​(ControllerState controllerState,
                                               UnitConfiguration unitConfiguration)
                                        throws GeneratorException

      Processes a unit of generation.
      Parameters:
        `controllerState` - the controller state, not null.
        `unitConfiguration` - the configuration of the generation unit to process, not null.
      Throws:
        `GeneratorException` - if a generation error occurs.

    - #### createOutputFilename

          protected void createOutputFilename​(Output output,
                                              ControllerState controllerState)
                                       throws GeneratorException

      Creates the output file name and sets it in the output. The filename is calculated either by the filenameConfigurator in `output` or is given explicitly (in the latter case nothing needs to be done).
      Parameters:
        `controllerState` - the controller state, not null.
        `output` - The output to process, not null.
      Throws:
        `ConfigurationException` - if an incorrect configuration is encountered, e.g. if neither filename nor filenameOutlet is set in output.
        `GeneratorException` - if an error occurs during generation of the output filename.

    - #### transformSource

          public Object transformSource​(Object sourceRoot,
                                        List<SourceTransformerDefinition> transformerDefinitions,
                                        ControllerState controllerState)
                                 throws SourceTransformerException,
                                        SourceException

      Applies all transformer definitions to the current source.
      Parameters:
        `sourceRoot` - the root element of the source to transform, not null.
        `transformerDefinitions` - the transformer definitions to apply, not null.
        `controllerState` - the current controller state, not null.
      Returns:
        the transformed root element, not null.
      Throws:
        `SourceTransformerException` - if error in transform
        `SourceException` - if source not found