Plex/proxy/src/main/java/dev/plex/toml/TableArrayValueWriter.java

40 lines
838 B
Java
Raw Normal View History

package dev.plex.toml;
import java.util.Collection;
2023-03-08 20:26:10 +00:00
import static dev.plex.toml.ValueWriters.WRITERS;
2022-05-04 12:20:29 +00:00
class TableArrayValueWriter extends ArrayValueWriter
{
2022-05-10 05:08:45 +00:00
static final ValueWriter TABLE_ARRAY_VALUE_WRITER = new TableArrayValueWriter();
2022-05-10 05:08:45 +00:00
@Override
public boolean canWrite(Object value)
{
return isArrayish(value) && !isArrayOfPrimitive(value);
}
2022-05-10 05:08:45 +00:00
@Override
public void write(Object from, WriterContext context)
{
Collection<?> values = normalize(from);
2022-05-10 05:08:45 +00:00
WriterContext subContext = context.pushTableFromArray();
2022-05-10 05:08:45 +00:00
for (Object value : values)
{
WRITERS.findWriterFor(value).write(value, subContext);
}
}
2022-05-10 05:08:45 +00:00
private TableArrayValueWriter()
{
}
2022-05-10 05:08:45 +00:00
@Override
public String toString()
{
return "table-array";
}
}