Class EnumAsker

java.lang.Object
nz.org.riskscape.wizard.ask.BaseAsker
nz.org.riskscape.wizard.ask.EnumAsker
All Implemented Interfaces:
Asker

public class EnumAsker extends BaseAsker
  • Constructor Details

    • EnumAsker

      public EnumAsker(nz.org.riskscape.engine.i18n.TranslationContext messageSource)
  • Method Details

    • canAsk

      public boolean canAsk(nz.org.riskscape.wizard.bld.IncrementalBuildState buildState, nz.org.riskscape.wizard.Question question)
      Description copied from interface: Asker

      Determine whether this Asker is relevant for the given Question and IncrementalBuildState

      Returns:
      true if this Asker can and should drive the cli to answer the given Question.
    • toChoice

      protected <T extends Enum<?>> Choice<T> toChoice(nz.org.riskscape.engine.i18n.EnumTranslator.EnumEntry<T> entry)
      Description copied from class: BaseAsker

      Allows individual Askers to potentially override how enums get displayed to the user

      Overrides:
      toChoice in class BaseAsker
    • ask

      public nz.org.riskscape.problem.ResultOrProblems<nz.org.riskscape.wizard.Answer.Response> ask(AskRequest input)
      Description copied from class: BaseAsker

      Get a bound value from the user - note that the response's original input is returned from BaseAsker.askUnbound(AskRequest). This is partly here because the original API exposed this method on the interface, and keeping this method here keeps the refactoring/change noise down to a minimum while allowing the interface to change in the way we want to preserve the right amount of encapsulation

      Specified by:
      ask in class BaseAsker