mirror of
https://github.com/plexusorg/Plex.git
synced 2025-04-16 23:03:01 +00:00
58 lines
1.1 KiB
Java
58 lines
1.1 KiB
Java
package dev.plex.toml;
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
class BooleanValueReaderWriter implements ValueReader, ValueWriter
|
|
{
|
|
|
|
static final BooleanValueReaderWriter BOOLEAN_VALUE_READER_WRITER = new BooleanValueReaderWriter();
|
|
|
|
@Override
|
|
public boolean canRead(String s)
|
|
{
|
|
return s.startsWith("true") || s.startsWith("false");
|
|
}
|
|
|
|
@Override
|
|
public Object read(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 value instanceof Boolean;
|
|
}
|
|
|
|
@Override
|
|
public void write(Object value, WriterContext context)
|
|
{
|
|
context.write(value.toString());
|
|
}
|
|
|
|
@Override
|
|
public boolean isPrimitiveType()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
private BooleanValueReaderWriter()
|
|
{
|
|
}
|
|
|
|
@Override
|
|
public String toString()
|
|
{
|
|
return "boolean";
|
|
}
|
|
}
|