Package com.xmlmind.w2x.processor

## Class SaveStep

- java.lang.Object
- - com.xmlmind.w2x.processor.ProcessStep
  - - com.xmlmind.w2x.processor.SaveStep

-     public class SaveStep
      extends ProcessStep

  This processing step is used to save to disk input XHTML document.

  The output file is specified by parameter `step_name.out-file`.

- - ### Field Summary

    - ### Fields inherited from class com.xmlmind.w2x.processor.ProcessStep

      `stepName`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SaveStep​(String stepName)` | Constructs a SaveStep having specified name.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `process​(Object[] state, Map<String,​String> parameters, int[] stepCounter, ProgressMonitor monitor)` | Execute this processing step.

    - ### Methods inherited from class com.xmlmind.w2x.processor.ProcessStep

      `debugParameters, equals, getAllParameters, getBooleanParameter, getFileParameter, getIntParameter, getParameter, getURLParameter, hashCode, illegalState, joinAllParameters, missingParameter, parameterName, progress, toString, urlOrFile`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SaveStep

          public SaveStep​(String stepName)

      Constructs a SaveStep having specified name.

  - ### Method Detail

    - #### process

          public void process​(Object[] state,
                              Map<String,​String> parameters,
                              int[] stepCounter,
                              ProgressMonitor monitor)
                       throws Exception

      Execute this processing step.

      `state[0]` contains:

      - Before this method is executed: an XHTML document.
      - After this method is executed: the save file.
      Specified by:
        `process` in class `ProcessStep`
      Parameters:
        `state` - contains the current state of processing: a `Document` or a `File`.

        This object is used as the input of this step and thus, is processed by this step.

        After its execution, this method generally updates the `state` array with a new `Document` or `File` to pass the result/output of this step to the next step.

        `parameters` - all the parameters passed to the `Processor` owning and thus executing this process step.

        Parameters which are relevant to this processing step are prefixed with "``ProcessStep.stepName`.`".

        `stepCounter` - contains the rank of previously executed processing step. Must be incremented by this method.
        `monitor` - used to monitor the progress of the processing steps

        Invoking convenience method `ProcessStep.progress(java.lang.String, int[], com.xmlmind.util.ProgressMonitor)` suffices to make good use of both `monitor` and `stepCounter`.

      Throws:
        `Exception` - if for any reason, this method fails