org.springframework.core.convert.support.StringToBooleanConverterCustom Maven / Gradle / Ivy
package org.springframework.core.convert.support;
import java.util.HashSet;
import java.util.Set;
import org.springframework.core.convert.converter.Converter;
/**
* @see org.springframework.core.convert.support.StringToBooleanConverter
*/
public class StringToBooleanConverterCustom implements Converter {
private static final Set trueValues = new HashSet(6);
private static final Set falseValues = new HashSet(6);
static {
trueValues.add("true");
trueValues.add("on");
trueValues.add("yes");
trueValues.add("1");
trueValues.add("t");
trueValues.add("y");
trueValues.add("o");
falseValues.add("false");
falseValues.add("off");
falseValues.add("no");
falseValues.add("0");
falseValues.add("f");
falseValues.add("n");
falseValues.add("x");
}
@Override
public Boolean convert(String source) {
String value = source.trim();
if ("".equals(value)) {
return null;
}
value = value.toLowerCase();
if (trueValues.contains(value)) {
return Boolean.TRUE;
}
else if (falseValues.contains(value)) {
return Boolean.FALSE;
}
else {
throw new IllegalArgumentException("Invalid boolean value '" + source + "'");
}
}
}