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

49 lines
1 KiB
Java
Raw Normal View History

package com.moandjiezana.toml;
import java.util.concurrent.atomic.AtomicInteger;
class BooleanConverter implements ValueConverter, ValueWriter {
static final BooleanConverter BOOLEAN_PARSER = new BooleanConverter();
@Override
public boolean canConvert(String s) {
return s.startsWith("true") || s.startsWith("false");
}
@Override
2015-02-11 15:59:20 +00:00
public Object convert(String s, AtomicInteger index, Context context) {
s = s.substring(index.get());
Boolean b = s.startsWith("true") ? Boolean.TRUE : Boolean.FALSE;
int endIndex = b == Boolean.TRUE ? 4 : 5;
index.addAndGet(endIndex - 1);
return b;
}
@Override
public boolean canWrite(Object value) {
return Boolean.class.isInstance(value);
}
@Override
public void write(Object value, WriterContext context) {
context.write(value.toString());
}
@Override
public boolean isPrimitiveType() {
return true;
}
private BooleanConverter() {}
2015-06-28 21:35:39 +00:00
@Override
public String toString() {
return "boolean";
}
}