com.firefly.utils.json.serializer.ArraySerializer Maven / Gradle / Ivy
package com.firefly.utils.json.serializer;
import static com.firefly.utils.json.JsonStringSymbol.ARRAY_PRE;
import static com.firefly.utils.json.JsonStringSymbol.ARRAY_SUF;
import static com.firefly.utils.json.JsonStringSymbol.SEPARATOR;
import static com.firefly.utils.json.JsonStringSymbol.EMPTY_ARRAY;
import java.io.IOException;
import com.firefly.utils.json.JsonWriter;
import com.firefly.utils.json.Serializer;
public class ArraySerializer implements Serializer {
@Override
public void convertTo(JsonWriter writer, Object obj)
throws IOException {
Object[] objArray = (Object[]) obj;
int iMax = objArray.length - 1;
if (iMax == -1) {
writer.write(EMPTY_ARRAY);
return;
}
writer.append(ARRAY_PRE);
for (int i = 0;; i++) {
SerialStateMachine.toJson(objArray[i], writer);
if (i == iMax) {
writer.append(ARRAY_SUF);
return;
}
writer.append(SEPARATOR);
}
}
}