org.springframework.cloud.dataflow.completion

## Interface RecoveryStrategy<E extends Exception>

- Type Parameters:
    `E` - the kind of exception that is intercepted during parsing
  All Known Implementing Classes:
    AppsAfterDoublePipeRecoveryStrategy, AppsAfterPipeRecoveryStrategy, ConfigurationPropertyValueHintRecoveryStrategy, ConfigurationPropertyValueHintTaskRecoveryStrategy, StacktraceFingerprintingRecoveryStrategy, StacktraceFingerprintingTaskRecoveryStrategy, TapOnDestinationRecoveryStrategy, UnfinishedConfigurationPropertyNameRecoveryStrategy, UnfinishedConfigurationPropertyNameTaskRecoveryStrategy

      public interface RecoveryStrategy<E extends Exception>

  Used to provide completions on ill-formed stream definitions, after an initial (failed) parse.
  Author:
    Eric Bottard

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addProposals(String dsl, E exception, int detailLevel, List<CompletionProposal> proposals)` Perform code completion by adding proposals to the `proposals` list.
    `boolean` | `shouldTrigger(String dslStart, Exception exception)` Whether this completion should be triggered.

- - ### Method Detail

    - #### shouldTrigger

          boolean shouldTrigger(String dslStart,
                                Exception exception)

      Whether this completion should be triggered.
      Parameters:
        `dslStart` - the partial DSL text
        `exception` - the exception thrown when parsing the DSL text
      Returns:
        if proposals to complete the DSL should be provided

    - #### addProposals

          void addProposals(String dsl,
                            E exception,
                            int detailLevel,
                            List<CompletionProposal> proposals)

      Perform code completion by adding proposals to the `proposals` list.
      Parameters:
        `dsl` - the partial DSL text
        `exception` - the exception thrown when parsing the DSL text
        `detailLevel` - an integer describing the level of detail to include in proposal, starting at 1. Higher values request more detail, with values typically in the range [1..5]
        `proposals` - the list of completion proposals to show the user

Copyright © 2021 Pivotal Software, Inc.. All rights reserved.