1 package org.cyclopsgroup.jmxterm.io;
2
3 import org.apache.commons.lang3.StringUtils;
4 import org.apache.commons.lang3.Validate;
5 import org.jline.reader.impl.LineReaderImpl;
6
7 import java.io.IOException;
8
9
10
11
12
13
14 public class JlineCommandInput extends CommandInput {
15 private final LineReaderImpl console;
16
17 private final String prompt;
18
19
20
21
22
23 public JlineCommandInput(LineReaderImpl console, String prompt) {
24 Validate.notNull(console, "Jline console reader can't be NULL");
25 this.console = console;
26 this.prompt = StringUtils.trimToEmpty(prompt);
27 }
28
29
30
31
32 public final LineReaderImpl getConsole() {
33 return console;
34 }
35
36 @Override
37 public String readLine() throws IOException {
38 return console.readLine(prompt);
39 }
40
41 @Override
42 public String readMaskedString(String prompt) throws IOException {
43 return console.readLine(prompt, '*');
44 }
45 }