ObjectWriterException.java
package com.alibaba.fastjson2.writer;
import com.alibaba.fastjson2.JSONWriter;
import java.lang.reflect.Type;
import java.util.List;
public class ObjectWriterException
extends ObjectWriterAdapter<Exception> {
public ObjectWriterException(Class objectType, long features, List<FieldWriter> fieldWriters) {
super(objectType, null, null, features, fieldWriters);
}
@Override
public void writeJSONB(JSONWriter jsonWriter, Object object, Object fieldName, Type fieldType, long features) {
writeClassInfo(jsonWriter);
int size = fieldWriters.size();
jsonWriter.startObject();
for (int i = 0; i < size; ++i) {
FieldWriter fw = fieldWriters.get(i);
fw.write(jsonWriter, object);
}
jsonWriter.endObject();
}
@Override
public void write(JSONWriter jsonWriter, Object object, Object fieldName, Type fieldType, long features) {
if (jsonWriter.jsonb) {
writeJSONB(jsonWriter, object, fieldName, fieldType, features);
return;
}
if (hasFilter(jsonWriter)) {
writeWithFilter(jsonWriter, object);
return;
}
jsonWriter.startObject();
if ((jsonWriter.getFeatures(features)
& (JSONWriter.Feature.WriteClassName.mask | JSONWriter.Feature.WriteThrowableClassName.mask)) != 0
) {
writeTypeInfo(jsonWriter);
}
for (FieldWriter fieldWriter : fieldWriters) {
fieldWriter.write(jsonWriter, object);
}
jsonWriter.endObject();
}
}