package de.axone.tools;
import java.util.Arrays;
import java.util.Collection;
import java.util.TreeSet;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
public abstract class EasyParser {
private static final String [] YESSES
= new String[]{ "true", "on", "y", "j", "yes", "ja", "x", "1" };
private static final String [] NOS
= new String[]{ "false", "off", "n", "no", "nein", "-", "", "0" };
private static final Collection<String> YESSET
= new TreeSet<String>( Arrays.asList( YESSES ) );
private static final Collection<String> NOSET
= new TreeSet<String>( Arrays.asList( NOS ) );
public static boolean isYes( String yesOrNo ) {
return contains( YESSET, yesOrNo );
}
public static boolean isNo( String yesOrNo ) {
return contains( NOSET, yesOrNo );
}
@SuppressFBWarnings( value="NP_BOOLEAN_RETURN_NULL" )
public static Boolean yesOrNoOrNull( String yesOrNo ){
if( isYes( yesOrNo ) ) return true;
if( isNo( yesOrNo ) ) return false;
return null;
}
public static boolean yesOrNo( String yesOrNo, boolean defaultValue ){
if( isYes( yesOrNo ) ) return true;
if( isNo( yesOrNo ) ) return false;
return defaultValue;
}
private static boolean contains( Collection<String> options, String yesOrNo ) {
if( yesOrNo == null ) return false;
yesOrNo = yesOrNo.trim().toLowerCase();
return options.contains( yesOrNo );
}
}