Class ValidatingPrompt

    • Constructor Detail

      • ValidatingPrompt

        public ValidatingPrompt()
    • Method Detail

      • acceptInput

        @Nullable
        public @Nullable Prompt acceptInput​(@NotNull
                                            @NotNull ConversationContext context,
                                            @Nullable
                                            @Nullable String input)
        Accepts and processes input from the user and validates it. If validation fails, this prompt is returned for re-execution, otherwise the next Prompt in the prompt graph is returned.
        Specified by:
        acceptInput in interface Prompt
        Parameters:
        context - Context information about the conversation.
        input - The input text from the user.
        Returns:
        This prompt or the next Prompt in the prompt graph.
      • blocksForInput

        public boolean blocksForInput​(@NotNull
                                      @NotNull ConversationContext context)
        Ensures that the prompt waits for the user to provide input.
        Specified by:
        blocksForInput in interface Prompt
        Parameters:
        context - Context information about the conversation.
        Returns:
        True.
      • isInputValid

        protected abstract boolean isInputValid​(@NotNull
                                                @NotNull ConversationContext context,
                                                @NotNull
                                                @NotNull String input)
        Override this method to check the validity of the player's input.
        Parameters:
        context - Context information about the conversation.
        input - The player's raw console input.
        Returns:
        True or false depending on the validity of the input.
      • acceptValidatedInput

        @Nullable
        protected abstract @Nullable Prompt acceptValidatedInput​(@NotNull
                                                                 @NotNull ConversationContext context,
                                                                 @NotNull
                                                                 @NotNull String input)
        Override this method to accept and processes the validated input from the user. Using the input, the next Prompt in the prompt graph should be returned.
        Parameters:
        context - Context information about the conversation.
        input - The validated input text from the user.
        Returns:
        The next Prompt in the prompt graph.
      • getFailedValidationText

        @Nullable
        protected @Nullable String getFailedValidationText​(@NotNull
                                                           @NotNull ConversationContext context,
                                                           @NotNull
                                                           @NotNull String invalidInput)
        Optionally override this method to display an additional message if the user enters an invalid input.
        Parameters:
        context - Context information about the conversation.
        invalidInput - The invalid input provided by the user.
        Returns:
        A message explaining how to correct the input.