package com.revolsys.util; import com.revolsys.datatype.DataTypes; public interface Booleans { static boolean getBoolean(final Object value) { final Boolean bool = valueOf(value); return bool != null && bool; } static boolean isFalse(final Object value) { try { final Boolean bool = valueOf(value); if (bool == null) { return false; } else { return !bool; } } catch (final IllegalArgumentException e) { return false; } } static boolean isTrue(final Object value) { try { final Boolean bool = valueOf(value); if (bool == null) { return false; } else { return bool; } } catch (final IllegalArgumentException e) { return false; } } static Boolean valueOf(final Object value) { if (value == null) { return null; } else if (value instanceof Boolean) { return (Boolean)value; } else { final String string = DataTypes.toString(value); return valueOf(string); } } static Boolean valueOf(final String string) { if (Property.hasValue(string)) { if ("1".equals(string)) { return true; } else if ("Y".equalsIgnoreCase(string)) { return true; } else if ("on".equals(string)) { return true; } else if ("true".equalsIgnoreCase(string)) { return true; } else if ("0".equals(string)) { return false; } else if ("N".equalsIgnoreCase(string)) { return false; } else if ("off".equals(string)) { return false; } else if ("false".equalsIgnoreCase(string)) { return false; } else { throw new IllegalArgumentException(string + " is not a valid boolean"); } } else { return null; } } }