public static final class ObjectWriter.Prefetch
extends java.lang.Object
implements java.io.Serializable
TypeSerializer
, if given enough
information.Modifier and Type | Field and Description |
---|---|
static ObjectWriter.Prefetch |
empty |
private JavaType |
rootType
Specified root serialization type to use; can be same
as runtime type, but usually one of its super types
(parent class or interface it implements).
|
private static long |
serialVersionUID |
private TypeSerializer |
typeSerializer
When dealing with polymorphic types, we can not pre-fetch
serializer, but can pre-fetch
TypeSerializer . |
private JsonSerializer<java.lang.Object> |
valueSerializer
We may pre-fetch serializer if
rootType
is known, and if so, reuse it afterwards. |
Modifier | Constructor and Description |
---|---|
private |
Prefetch(JavaType rootT,
JsonSerializer<java.lang.Object> ser,
TypeSerializer typeSer) |
Modifier and Type | Method and Description |
---|---|
ObjectWriter.Prefetch |
forRootType(ObjectWriter parent,
JavaType newType) |
TypeSerializer |
getTypeSerializer() |
JsonSerializer<java.lang.Object> |
getValueSerializer() |
boolean |
hasSerializer() |
void |
serialize(com.fasterxml.jackson.core.JsonGenerator gen,
java.lang.Object value,
DefaultSerializerProvider prov) |
private static final long serialVersionUID
public static final ObjectWriter.Prefetch empty
private final JavaType rootType
private final JsonSerializer<java.lang.Object> valueSerializer
rootType
is known, and if so, reuse it afterwards.
This allows avoiding further serializer lookups and increases
performance a bit on cases where readers are reused.private final TypeSerializer typeSerializer
TypeSerializer
.private Prefetch(JavaType rootT, JsonSerializer<java.lang.Object> ser, TypeSerializer typeSer)
public ObjectWriter.Prefetch forRootType(ObjectWriter parent, JavaType newType)
public final JsonSerializer<java.lang.Object> getValueSerializer()
public final TypeSerializer getTypeSerializer()
public boolean hasSerializer()
public void serialize(com.fasterxml.jackson.core.JsonGenerator gen, java.lang.Object value, DefaultSerializerProvider prov) throws java.io.IOException
java.io.IOException