package org.cyclopsgroup.jmxterm.io; import java.io.IOException; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.Validate; import jline.console.ConsoleReader; /** * Implementation of input that reads command from jloin console input * * @author <a href="mailto:jiaqi.guo@gmail.com">Jiaqi Guo</a> */ public class JlineCommandInput extends CommandInput { private final ConsoleReader console; private final String prompt; /** * @param console Jline console reader * @param prompt Prompt string */ public JlineCommandInput( ConsoleReader console, String prompt ) { Validate.notNull( console, "Jline console reader can't be NULL" ); this.console = console; this.prompt = StringUtils.trimToEmpty( prompt ); } /** * @return Jline console */ public final ConsoleReader getConsole() { return console; } /** * @inheritDoc */ @Override public String readLine() throws IOException { return console.readLine( prompt ); } /** * @inheritDoc */ @Override public String readMaskedString( String prompt ) throws IOException { return console.readLine( prompt, '*' ); } }