toml4j/src/main/java/com/moandjiezana/toml/BooleanConverter.java

34 lines
832 B
Java
Raw Normal View History

package com.moandjiezana.toml;
import static com.moandjiezana.toml.ValueConverterUtils.INVALID;
import java.util.List;
import org.parboiled.Parboiled;
import org.parboiled.parserunners.BasicParseRunner;
class BooleanConverter implements ValueConverter {
static final BooleanConverter BOOLEAN_PARSER = new BooleanConverter();
@Override
public boolean canConvert(String s) {
return s.startsWith("true") || s.startsWith("false");
}
@Override
public Object convert(String s) {
2014-08-13 12:36:21 +00:00
ValueParser parser = Parboiled.createParser(ValueParser.class);
List<String> resultValue = new BasicParseRunner<List<String>>(parser.Boolean()).run(s).resultValue;
if (resultValue == null) {
return INVALID;
}
return Boolean.valueOf(resultValue.get(0));
}
private BooleanConverter() {}
}