package com.alibaba.fastjson.serializer;
import java.awt.Rectangle;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Collections;
import java.util.Set;
public class RectangleSerializer implements AutowiredObjectSerializer {
public final static RectangleSerializer instance = new RectangleSerializer();
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType) throws IOException {
SerializeWriter out = serializer.getWriter();
Rectangle rectangle = (Rectangle) object;
if (rectangle == null) {
out.writeNull();
return;
}
char sep = '{';
if (out.isEnabled(SerializerFeature.WriteClassName)) {
out.write('{');
out.writeFieldName("@type");
out.writeString(Rectangle.class.getName());
sep = ',';
}
out.writeFieldValue(sep, "x", rectangle.getX());
out.writeFieldValue(',', "y", rectangle.getY());
out.writeFieldValue(',', "width", rectangle.getWidth());
out.writeFieldValue(',', "height", rectangle.getHeight());
out.write('}');
}
public Set<Type> getAutowiredFor() {
return Collections.<Type>singleton(Rectangle.class);
}
}