blob: a8a419d066f98f5115ebfc0c2a0057484cd62ca8 [file] [log] [blame]
/*
* Copyright (c) 2002-2016, the original author or authors.
*
* This software is distributable under the BSD license. See the terms of the
* BSD license in the documentation provided with this software.
*
* https://opensource.org/licenses/BSD-3-Clause
*/
package jdk.internal.org.jline.reader.impl;
import jdk.internal.org.jline.reader.LineReader;
public class ReaderUtils {
private ReaderUtils() { }
public static boolean isSet(LineReader reader, LineReader.Option option) {
return reader != null && reader.isSet(option);
}
public static String getString(LineReader reader, String name, String def) {
Object v = reader != null ? reader.getVariable(name) : null;
return v != null ? v.toString() : def;
}
public static boolean getBoolean(LineReader reader, String name, boolean def) {
Object v = reader != null ? reader.getVariable(name) : null;
if (v instanceof Boolean) {
return (Boolean) v;
} else if (v != null) {
String s = v.toString();
return s.isEmpty() || s.equalsIgnoreCase("on")
|| s.equalsIgnoreCase("1") || s.equalsIgnoreCase("true");
}
return def;
}
public static int getInt(LineReader reader, String name, int def) {
int nb = def;
Object v = reader != null ? reader.getVariable(name) : null;
if (v instanceof Number) {
return ((Number) v).intValue();
} else if (v != null) {
nb = 0;
try {
nb = Integer.parseInt(v.toString());
} catch (NumberFormatException e) {
// Ignore
}
}
return nb;
}
public static long getLong(LineReader reader, String name, long def) {
long nb = def;
Object v = reader != null ? reader.getVariable(name) : null;
if (v instanceof Number) {
return ((Number) v).longValue();
} else if (v != null) {
nb = 0;
try {
nb = Long.parseLong(v.toString());
} catch (NumberFormatException e) {
// Ignore
}
}
return nb;
}
}