java stdserializerprovider_SerializerProvider

方法详细资料

setNullKeySerializer

public abstract void setNullKeySerializer(JsonSerializer nks)

Method that can be used to specify serializer that will be

used to write JSON property names matching null keys for Java

Maps (which will throw an exception if try write such property

name)

从以下版本开始:

1.8

setNullValueSerializer

public abstract void setNullValueSerializer(JsonSerializer nvs)

Method that can be used to specify serializer that will be

used to write JSON values matching Java null values

instead of default one (which simply writes JSON null)

从以下版本开始:

1.8

setDefaultKeySerializer

public abstract void setDefaultKeySerializer(JsonSerializer ks)

Method that can be used to specify serializer to use for serializing

all non-null JSON property names, unless more specific key serializer

is found (i.e. if not custom key serializer has been registered for

Java type).

Note that key serializer registration are different from value serializer

registrations.

从以下版本开始:

1.8

serializeValue

public abstract void serializeValue(SerializationConfig cfg,

JsonGenerator jgen,

Object value,

SerializerFactory jsf)

throws IOException,

JsonGenerationException

The method to be called by ObjectMapper to

execute recursive serialization, using serializers that

this provider has access to.

参数:jsf - Underlying factory object used for creating serializers

as needed

抛出:

serializeValue

public abstract void serializeValue(SerializationConfig cfg,

JsonGenerator jgen,

Object value,

JavaType rootType,

SerializerFactory jsf)

throws IOException,

JsonGenerationException

The method to be called by ObjectMapper to

execute recursive serialization, using serializers that

this provider has access to; and using specified root type

for locating first-level serializer.

参数:rootType - Type to use for locating serializer to use, instead of actual

runtime type. Must be actual type, or one of its super types

抛出:

从以下版本开始:

1.5

generateJsonSchema

public abstract JsonSchema generateJsonSchema(Class> type,

SerializationConfig config,

SerializerFactory jsf)

throws JsonMappingException

Generate Json-schema for

given type.

参数:type - The type for which to generate schema

抛出:

hasSerializerFor

public abstract boolean hasSerializerFor(SerializationConfig cfg,

Class> cls,

SerializerFactory jsf)

Method that can be called to see if this serializer provider

can find a serializer for an instance of given class.

Note that no Exceptions are thrown, including unchecked ones:

implementations are to swallow exceptions if necessary.

getConfig

public final SerializationConfig getConfig()

Method for accessing configuration for the serialization processing.

isEnabled

public final boolean isEnabled(SerializationConfig.Feature feature)

Convenience method for checking whether specified serialization

feature is enabled or not.

Shortcut for:

getConfig().isEnabled(feature);

getSerializationView

public final Class> getSerializationView()

Convenience method for accessing serialization view in use (if any); equivalent to:

getConfig().getSerializationView();

从以下版本开始:

1.4

getFilterProvider

public final FilterProvider getFilterProvider()

Convenience method for accessing provider to find serialization filters used,

equivalent to calling:

getConfig().getFilterProvider();

从以下版本开始:

1.4

constructType

public JavaType constructType(Type type)

从以下版本开始:

1.8

constructSpecializedType

public JavaType constructSpecializedType(JavaType baseType,

Class> subclass)

从以下版本开始:

1.9.1

findValueSerializer

public abstract JsonSerializer findValueSerializer(Class> runtimeType,

BeanProperty property)

throws JsonMappingException

Method called to get hold of a serializer for a value of given type;

or if no such serializer can be found, a default handler (which

may do a best-effort generic serialization or just simply

throw an exception when invoked).

Note: this method is only called for non-null values; not for keys

or null values. For these, check out other accessor methods.

Note that starting with version 1.5, serializers should also be type-aware

if they handle polymorphic types. That means that it may be necessary

to also use a TypeSerializer based on declared (static) type

being serializer (whereas actual data may be serialized using dynamic

type)

抛出:

findValueSerializer

public abstract JsonSerializer findValueSerializer(JavaType serializationType,

BeanProperty property)

throws JsonMappingException

Similar to findValueSerializer(Class), but takes full generics-aware

type instead of raw class.

findTypedValueSerializer

public abstract JsonSerializer findTypedValueSerializer(Class> valueType,

boolean cache,

BeanProperty property)

throws JsonMappingException

Method called to locate regular serializer, matching type serializer,

and if both found, wrap them in a serializer that calls both in correct

sequence. This method is currently only used for root-level serializer

handling to allow for simpler caching. A call can always be replaced

by equivalent calls to access serializer and type serializer separately.

参数:valueType - Type for purpose of locating a serializer; usually dynamic

runtime type, but can also be static declared type, depending on configurationcache - Whether resulting value serializer should be cached or not; this is just

a hint

抛出:

从以下版本开始:

1.5

findTypedValueSerializer

public abstract JsonSerializer findTypedValueSerializer(JavaType valueType,

boolean cache,

BeanProperty property)

throws JsonMappingException

Method called to locate regular serializer, matching type serializer,

and if both found, wrap them in a serializer that calls both in correct

sequence. This method is currently only used for root-level serializer

handling to allow for simpler caching. A call can always be replaced

by equivalent calls to access serializer and type serializer separately.

参数:valueType - Declared type of value being serialized (which may not

be actual runtime type); used for finding both value serializer and

type serializer to use for adding polymorphic type (if any)cache - Whether resulting value serializer should be cached or not; this is just

a hint

抛出:

从以下版本开始:

1.5

findKeySerializer

public abstract JsonSerializer findKeySerializer(JavaType keyType,

BeanProperty property)

throws JsonMappingException

Method called to get the serializer to use for serializing

non-null Map keys. Separation from regular

findValueSerializer(java.lang.Class>, org.codehaus.jackson.map.BeanProperty) method is because actual write

method must be different (@link JsonGenerator#writeFieldName};

but also since behavior for some key types may differ.

Note that the serializer itself can be called with instances

of any Java object, but not nulls.

findValueSerializer

@Deprecated

public final JsonSerializer findValueSerializer(Class> runtimeType)

throws JsonMappingException

已过时。 As of version 1.7, use version that exposes property object

instead of just its type (needed for contextual serializers)

Deprecated version of accessor method that was used before version 1.7.

Implemented as final to ensure that existing code does not accidentally

try to redefine it (given that it is not called by core mapper code)

findValueSerializer

@Deprecated

public final JsonSerializer findValueSerializer(JavaType serializationType)

throws JsonMappingException

已过时。 As of version 1.7, use version that exposes property object

instead of just its type (needed for contextual serializers)

Deprecated version of accessor method that was used before version 1.7.

Implemented as final to ensure that existing code does not accidentally

try to redefine it (given that it is not called by core mapper code)

findTypedValueSerializer

@Deprecated

public final JsonSerializer findTypedValueSerializer(Class> valueType,

boolean cache)

throws JsonMappingException

已过时。 As of version 1.7, use version that exposes property object

instead of just its type (needed for contextual serializers)

Deprecated version of accessor method that was used before version 1.7.

Implemented as final to ensure that existing code does not accidentally

try to redefine it (given that it is not called by core mapper code)

findTypedValueSerializer

@Deprecated

public final JsonSerializer findTypedValueSerializer(JavaType valueType,

boolean cache)

throws JsonMappingException

已过时。 As of version 1.7, use version that exposes property object

instead of just its type (needed for contextual serializers)

Deprecated version of accessor method that was used before version 1.7.

Implemented as final to ensure that existing code does not accidentally

try to redefine it (given that it is not called by core mapper code)

getKeySerializer

@Deprecated

public final JsonSerializer getKeySerializer()

throws JsonMappingException

已过时。 As of version 1.7, use version that exposes property object

instead of just its type (needed for contextual serializers)

Deprecated version of accessor method that was used before version 1.7.

Implemented as final to ensure that existing code does not accidentally

try to redefine it (given that it is not called by core mapper code)

getKeySerializer

@Deprecated

public final JsonSerializer getKeySerializer(JavaType valueType,

BeanProperty property)

throws JsonMappingException

已过时。 As of version 1.8

Deprecated version of accessor method that was used before version 1.8;

renamed as findKeySerializer(org.codehaus.jackson.type.JavaType, org.codehaus.jackson.map.BeanProperty), since process is now

more complicated than simple lookup.

getNullKeySerializer

public abstract JsonSerializer getNullKeySerializer()

Method called to get the serializer to use for serializing

Map keys that are nulls: this is needed since JSON does not allow

any non-String value as key, including null.

Typically, returned serializer

will either throw an exception, or use an empty String; but

other behaviors are possible.

getNullValueSerializer

public abstract JsonSerializer getNullValueSerializer()

Method called to get the serializer to use for serializing

values (root level, Array members or List field values)

that are nulls. Specific accessor is needed because nulls

in Java do not contain type information.

Typically returned serializer just writes out Json literal

null value.

getUnknownTypeSerializer

public abstract JsonSerializer getUnknownTypeSerializer(Class> unknownType)

Method called to get the serializer to use if provider

can not determine an actual type-specific serializer

to use; typically when none of SerializerFactory

instances are able to construct a serializer.

Typically, returned serializer will throw an exception,

although alternatively ToStringSerializer could

be returned as well.

参数:unknownType - Type for which no serializer is found

defaultSerializeValue

public final void defaultSerializeValue(Object value,

JsonGenerator jgen)

throws IOException,

JsonProcessingException

Convenience method that will serialize given value (which can be

null) using standard serializer locating functionality. It can

be called for all values including field and Map values, but usually

field values are best handled calling

defaultSerializeField(java.lang.String, java.lang.Object, org.codehaus.jackson.JsonGenerator) instead.

defaultSerializeField

public final void defaultSerializeField(String fieldName,

Object value,

JsonGenerator jgen)

throws IOException,

JsonProcessingException

Convenience method that will serialize given field with specified

value. Value may be null. Serializer is done using the usual

null) using standard serializer locating functionality.

defaultSerializeDateValue

public abstract void defaultSerializeDateValue(long timestamp,

JsonGenerator jgen)

throws IOException,

JsonProcessingException

Method that will handle serialization of Date(-like) values, using

SerializationConfig settings to determine expected serialization

behavior.

Note: date here means "full" date, that is, date AND time, as per

Java convention (and not date-only values like in SQL)

defaultSerializeDateValue

public abstract void defaultSerializeDateValue(Date date,

JsonGenerator jgen)

throws IOException,

JsonProcessingException

Method that will handle serialization of Date(-like) values, using

SerializationConfig settings to determine expected serialization

behavior.

Note: date here means "full" date, that is, date AND time, as per

Java convention (and not date-only values like in SQL)

defaultSerializeDateKey

public abstract void defaultSerializeDateKey(long timestamp,

JsonGenerator jgen)

throws IOException,

JsonProcessingException

Method that will handle serialization of Dates used as Map keys,

based on SerializationConfig.Feature.WRITE_DATE_KEYS_AS_TIMESTAMPS

value (and if using textual representation, configured date format)

defaultSerializeDateKey

public abstract void defaultSerializeDateKey(Date date,

JsonGenerator jgen)

throws IOException,

JsonProcessingException

Method that will handle serialization of Dates used as Map keys,

based on SerializationConfig.Feature.WRITE_DATE_KEYS_AS_TIMESTAMPS

value (and if using textual representation, configured date format)

defaultSerializeNull

public final void defaultSerializeNull(JsonGenerator jgen)

throws IOException,

JsonProcessingException

cachedSerializersCount

public abstract int cachedSerializersCount()

Method that can be used to determine how many serializers this

provider is caching currently

(if it does caching: default implementation does)

Exact count depends on what kind of serializers get cached;

default implementation caches all serializers, including ones that

are eagerly constructed (for optimal access speed)

The main use case for this method is to allow conditional flushing of

serializer cache, if certain number of entries is reached.

从以下版本开始:

1.4

flushCachedSerializers

public abstract void flushCachedSerializers()

Method that will drop all serializers currently cached by this provider.

This can be used to remove memory usage (in case some serializers are

only used once or so), or to force re-construction of serializers after

configuration changes for mapper than owns the provider.

从以下版本开始:

1.4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值