/**
* Copyright (c) 2000-2017 Liferay, Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.liferay.faces.util.helper;
/**
* This class provides additional methods that operate against the javax.lang.Boolean system class.
*/
public class BooleanHelper {
public static final String[] TRUE_VALUES = { "true", "1", "t", "y", "yes", "on", "checked" };
public static final String[] FALSE_VALUES = { "false", "0", "f", "n", "no", "off", "unchecked" };
public static boolean isBooleanToken(String value) {
return isTrueToken(value) || isFalseToken(value);
}
public static boolean isFalseToken(String value) {
boolean flag = false;
if (value != null) {
String trimmedValue = value.trim();
flag = (trimmedValue.equalsIgnoreCase(FALSE_VALUES[0]) || trimmedValue.equalsIgnoreCase(FALSE_VALUES[1]) ||
trimmedValue.equalsIgnoreCase(FALSE_VALUES[2]) || trimmedValue.equalsIgnoreCase(FALSE_VALUES[3]) ||
trimmedValue.equalsIgnoreCase(FALSE_VALUES[3]) || trimmedValue.equalsIgnoreCase(FALSE_VALUES[4]) ||
trimmedValue.equalsIgnoreCase(FALSE_VALUES[5]) || trimmedValue.equalsIgnoreCase(FALSE_VALUES[6]));
}
return flag;
}
public static boolean isTrueToken(String value) {
boolean flag = false;
if (value != null) {
String trimmedValue = value.trim();
flag = (trimmedValue.equalsIgnoreCase(TRUE_VALUES[0]) || trimmedValue.equalsIgnoreCase(TRUE_VALUES[1]) ||
trimmedValue.equalsIgnoreCase(TRUE_VALUES[2]) || trimmedValue.equalsIgnoreCase(TRUE_VALUES[3]) ||
trimmedValue.equalsIgnoreCase(TRUE_VALUES[3]) || trimmedValue.equalsIgnoreCase(TRUE_VALUES[4]) ||
trimmedValue.equalsIgnoreCase(TRUE_VALUES[5]) || trimmedValue.equalsIgnoreCase(TRUE_VALUES[6]));
}
return flag;
}
public static boolean toBoolean(String value) {
return toBoolean(value, false);
}
public static boolean toBoolean(Object value, boolean defaultValue) {
String valueAsString = null;
if (value != null) {
valueAsString = value.toString();
}
return toBoolean(valueAsString, defaultValue);
}
public static boolean toBoolean(String value, boolean defaultValue) {
if (value == null) {
return defaultValue;
}
else {
if (isTrueToken(value)) {
return true;
}
else if (isFalseToken(value)) {
return false;
}
else {
return defaultValue;
}
}
}
}