com.beust.jcommander.internal.JDK6Console Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.portal.tools.rest.builder
Show all versions of com.liferay.portal.tools.rest.builder
Liferay Portal Tools REST Builder
package com.beust.jcommander.internal;
import com.beust.jcommander.ParameterException;
import java.io.PrintWriter;
import java.lang.reflect.Method;
public class JDK6Console implements Console {
private Object console;
private PrintWriter writer;
public JDK6Console(Object console) throws Exception {
this.console = console;
Method writerMethod = console.getClass().getDeclaredMethod("writer", new Class>[0]);
writer = (PrintWriter) writerMethod.invoke(console, new Object[0]);
}
public void print(String msg) {
writer.print(msg);
}
public void println(String msg) {
writer.println(msg);
}
public char[] readPassword(boolean echoInput) {
try {
writer.flush();
Method method;
if (echoInput) {
method = console.getClass().getDeclaredMethod("readLine", new Class>[0]);
return ((String) method.invoke(console, new Object[0])).toCharArray();
} else {
method = console.getClass().getDeclaredMethod("readPassword", new Class>[0]);
return (char[]) method.invoke(console, new Object[0]);
}
}
catch (Exception e) {
throw new ParameterException(e);
}
}
}