When i worked for a product company for 3 years, there was a lot of custom code made by many developers. And since we had over 20 customers there were a lot of settings and flag driven features.
Some developer would use 'yes' to denote something was true or enabled. Others would use 'Y' others would use 'true' and a few would be case in sensitive. For a few '1' was okay to denoate true.
Similarly false could be 'f', 'FALSE', 0, 'no' in strict case or case insensitive.
Made a small function to denote truthy value parsing, along with a default (if null or that row missing from the RDBMS table).
reference :
http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#toLowerCase%28char%29
Some developer would use 'yes' to denote something was true or enabled. Others would use 'Y' others would use 'true' and a few would be case in sensitive. For a few '1' was okay to denoate true.
Similarly false could be 'f', 'FALSE', 0, 'no' in strict case or case insensitive.
Made a small function to denote truthy value parsing, along with a default (if null or that row missing from the RDBMS table).
boolean isTruthy(String value, boolean default){
if(value == null || value.length()){
char c = Character.toLowerCase(value.charAt(0));
return c == 'y' || c == 't' || c=='1';
}
reference :
http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#toLowerCase%28char%29