/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.royaldev.royalcommands;
public class Converters {
/*
Strongly based upon code from Bukkit.
*/
public static boolean toBoolean(Object o) {
if (o instanceof Boolean) {
return (Boolean) o;
}
try {
return Boolean.valueOf(o.toString());
} catch (NullPointerException ignored) {
}
return false;
}
public static byte toByte(Object o) {
if (o instanceof Number) {
return ((Number) o).byteValue();
}
try {
return Byte.valueOf(o.toString());
} catch (NumberFormatException | NullPointerException ignored) {
}
return (byte) 0;
}
public static double toDouble(Object o) {
if (o instanceof Number) {
return ((Number) o).doubleValue();
}
try {
return Double.valueOf(o.toString());
} catch (NumberFormatException | NullPointerException ignored) {
}
return 0D;
}
public static float toFloat(Object o) {
if (o instanceof Number) {
return ((Number) o).floatValue();
}
try {
return Float.valueOf(o.toString());
} catch (NumberFormatException | NullPointerException ignored) {
}
return 0F;
}
public static int toInt(Object o) {
if (o instanceof Number) {
return ((Number) o).intValue();
}
try {
return Integer.valueOf(o.toString());
} catch (NumberFormatException | NullPointerException ignored) {
}
return 0;
}
public static long toLong(Object o) {
if (o instanceof Number) {
return ((Number) o).longValue();
}
try {
return Long.valueOf(o.toString());
} catch (NumberFormatException | NullPointerException ignored) {
}
return 0L;
}
public static short toShort(Object o) {
if (o instanceof Number) {
return ((Number) o).shortValue();
}
try {
return Short.valueOf(o.toString());
} catch (NumberFormatException | NullPointerException ignored) {
}
return (short) 0;
}
public static String toStringy(Object o) {
if (o instanceof String) {
return (String) o;
}
try {
return o.toString();
} catch (NullPointerException ignored) {
}
return "";
}
}