34
34
public abstract class InputReader <T , B extends InputReader <T , B >> {
35
35
private static final Logger logger = LoggerFactory .getLogger (InputReader .class );
36
36
37
+ public static final String PROPS_PREFIX_ERROR_MESSAGE = "error" ;
38
+
37
39
/** Functional interface for providing error messages */
38
40
@ FunctionalInterface
39
41
public interface ErrorMessagesProvider {
@@ -418,7 +420,7 @@ public List<T> readList(List<String> prompt) {
418
420
}
419
421
if (!allErrors .isEmpty ()) {
420
422
allErrors .add (0 , getDefaultErrorMessage (null ));
421
- textTerminal .println (allErrors );
423
+ textTerminal .executeWithPropertiesPrefix ( PROPS_PREFIX_ERROR_MESSAGE , t -> t . println (allErrors ) );
422
424
textTerminal .println ();
423
425
continue ;
424
426
}
@@ -470,18 +472,20 @@ private T getValueFromString(String sVal, TextTerminal<?> textTerminal) {
470
472
if (errMessages == null ) {
471
473
Optional <T > value = getPossibleValue (result .getValue ());
472
474
if (value .isPresent ()) return value .get ();
473
- textTerminal .print (getDefaultErrorMessage (sVal ));
474
- if (inlinePossibleValues ) {
475
- String options = possibleValues .stream ()
476
- .map (val -> "'" + valueFormatter .apply (val ) + "'" )
477
- .collect (Collectors .joining (", " ));
478
- textTerminal .println (" Please enter one of: " + options + "." );
479
- } else {
480
- textTerminal .println (" Please enter one of the displayed values." );
481
- }
482
- textTerminal .println ( );
475
+ textTerminal .executeWithPropertiesPrefix (PROPS_PREFIX_ERROR_MESSAGE , t -> {
476
+ t .print (getDefaultErrorMessage (sVal ));
477
+ if (inlinePossibleValues ) {
478
+ String options = possibleValues .stream ()
479
+ .map (val -> "'" + valueFormatter .apply (val ) + "'" )
480
+ .collect (Collectors .joining (", " ));
481
+ t .println (" Please enter one of: " + options + "." );
482
+ } else {
483
+ t .println (" Please enter one of the displayed values." );
484
+ }
485
+ });
486
+ textTerminal .println ();
483
487
} else {
484
- textTerminal .println (errMessages );
488
+ textTerminal .executeWithPropertiesPrefix ( PROPS_PREFIX_ERROR_MESSAGE , t -> t . println (errMessages ) );
485
489
textTerminal .println ();
486
490
}
487
491
return null ;
@@ -496,8 +500,10 @@ private T getValueFromIndex(String sVal, TextTerminal<?> textTerminal) {
496
500
} catch (NumberFormatException e ) {
497
501
// Continue the execution. The next statement will print the error message.
498
502
}
499
- textTerminal .print (getDefaultErrorMessage (sVal ));
500
- textTerminal .println (" Enter a value between 1 and " + possibleValues .size () + "." );
503
+ textTerminal .executeWithPropertiesPrefix (PROPS_PREFIX_ERROR_MESSAGE , t -> {
504
+ textTerminal .print (getDefaultErrorMessage (sVal ));
505
+ textTerminal .println (" Enter a value between 1 and " + possibleValues .size () + "." );
506
+ });
501
507
textTerminal .println ();
502
508
return null ;
503
509
}
0 commit comments