Package com.xebialabs.deployit.plugin.api.flow

# Interface Step

All Superinterfaces:
  `Serializable`

All Known Subinterfaces:
  `PreviewStep`, `RetryableStep`, `SatelliteAware`, `StageableStep`

public interface Step extends Serializable
A Step that can be executed for either Inspection or Deployment.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `DEFAULT_ORDER`
  The default step order.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `StepExitCode`
  `execute(ExecutionContext ctx)`
  `String`
  `getDescription()`
  Returns a description of what this step will really do on execution.
  `int`
  `getOrder()`
  The order of the step in the step list.
  `default boolean`
  `skippable()`
  Returns whether a step can be skipped

- ## Field Details

  - ### DEFAULT_ORDER

    static final int DEFAULT_ORDER
    The default step order.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getOrder

    int getOrder()
    The order of the step in the step list.
    Returns:
      the order.

  - ### getDescription

    String getDescription()
    Returns a description of what this step will really do on execution.
    Returns:
      the description.

  - ### execute

    StepExitCode execute(ExecutionContext ctx) throws Exception
    Parameters:
      `ctx` - Context info required to execute the step.
    Returns:
      exit code of the execution, successful, failed or paused.
    Throws:
      `Exception` - Any type of exception can be thrown, this to prevent implementors of having to wrap any non-runtime exceptions.

  - ### skippable

    default boolean skippable()
    Returns whether a step can be skipped
    Returns:
      boolean