类 BaseDefaultCodecs
java.lang.Object
cn.taketoday.http.codec.support.BaseDefaultCodecs
class BaseDefaultCodecs
extends Object
implements CodecConfigurer.DefaultCodecs, CodecConfigurer.DefaultCodecConfig
Default implementation of
CodecConfigurer.DefaultCodecs that serves
as a base for client and server specific variants.- 作者:
- Rossen Stoyanchev, Sebastien Deleuze
-
嵌套类概要
嵌套类 -
字段概要
字段修饰符和类型字段说明private Booleanprivate cn.taketoday.core.codec.Decoder<?>private cn.taketoday.core.codec.Encoder<?>(专用程序包) static final booleanprivate cn.taketoday.core.codec.Decoder<?>private cn.taketoday.core.codec.Encoder<?>private static final booleanprivate Integerprivate HttpMessageReader<?>(专用程序包) static final boolean(专用程序包) static final booleanprivate final ArrayList<HttpMessageReader<?>>private final ArrayList<HttpMessageWriter<?>>private Supplier<List<HttpMessageWriter<?>>>private cn.taketoday.core.codec.Decoder<?>private cn.taketoday.core.codec.Encoder<?>private static final booleanprivate boolean(专用程序包) static final booleanprivate final ArrayList<HttpMessageReader<?>>private final ArrayList<HttpMessageWriter<?>> -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected <T> voidInitialize a codec and add it to the List.(专用程序包) voidapplyDefaultConfig(BaseCodecConfigurer.DefaultCustomCodecs customCodecs) private voidapplyDefaultConfig(Map<?, Boolean> readers) voidconfigureDefaultCodec(Consumer<Object> codecConsumer) Register a consumer to apply to default config instances.voidenableLoggingRequestDetails(boolean enable) Whether to log form data at DEBUG level, and headers at TRACE level.protected voidextendObjectReaders(List<HttpMessageReader<?>> objectReaders) Hook for client or server specific Object readers.protected voidextendObjectWriters(List<HttpMessageWriter<?>> objectWriters) Hook for client or server specific Object writers.protected voidextendTypedReaders(List<HttpMessageReader<?>> typedReaders) Hook for client or server specific typed readers.protected voidextendTypedWriters(List<HttpMessageWriter<?>> typedWriters) Hook for client or server specific typed writers.(专用程序包) final List<HttpMessageWriter<?>>Return "base" object writers only, i.e. common to client and server.(专用程序包) final List<HttpMessageWriter<?>>Return "base" typed writers only, i.e. common to client and server.(专用程序包) final List<HttpMessageReader<?>>Return readers that need to be at the end, after all others.(专用程序包) List<HttpMessageWriter<?>>Return writers that need to be at the end, after all others.protected cn.taketoday.core.codec.Decoder<?>protected cn.taketoday.core.codec.Encoder<?>(专用程序包) final List<HttpMessageReader<?>>Return Object readers (JSON, XML, SSE).(专用程序包) final List<HttpMessageWriter<?>>Return Object writers (JSON, XML, SSE).private List<HttpMessageWriter<?>>(专用程序包) final List<HttpMessageReader<?>>Return readers that support specific types.(专用程序包) final List<HttpMessageWriter<?>>Return all writers that support specific types.private voidApplymaxInMemorySize()andenableLoggingRequestDetails, if configured by the application, to the given codec , including any codec it contains.protected voidReset and initialize object readers.protected voidReset and initialize object writers.protected voidReset and initialize typed readers and object readers.protected voidReset and initialize typed readers.protected voidReset and initialize typed writers.protected voidReset and initialize typed writers and object writers.Whether to log form data at DEBUG level, and headers at TRACE level.voidjackson2JsonDecoder(cn.taketoday.core.codec.Decoder<?> decoder) Override the default Jackson JSONDecoder.voidjackson2JsonEncoder(cn.taketoday.core.codec.Encoder<?> encoder) Override the default Jackson JSONEncoder.voidjackson2SmileDecoder(cn.taketoday.core.codec.Decoder<?> decoder) Override the default Jackson SmileDecoder.voidjackson2SmileEncoder(cn.taketoday.core.codec.Encoder<?> encoder) Override the default Jackson SmileEncoder.Get the configured limit on the number of bytes that can be buffered whenever the input stream needs to be aggregated.voidmaxInMemorySize(int byteCount) Configure a limit on the number of bytes that can be buffered whenever the input stream needs to be aggregated.Configure encoders or writers for use withMultipartHttpMessageWriter.voidmultipartReader(HttpMessageReader<?> multipartReader) Configure theHttpMessageReaderto use for multipart requests.voidprotobufDecoder(cn.taketoday.core.codec.Decoder<?> decoder) Override the default ProtobufDecoder.voidprotobufEncoder(cn.taketoday.core.codec.Encoder<?> encoder) Override the default ProtobufEncoder.(专用程序包) voidregisterDefaults(boolean registerDefaults) Delegate method used fromBaseCodecConfigurer.registerDefaults(boolean).(专用程序包) voidsetPartWritersSupplier(Supplier<List<HttpMessageWriter<?>>> supplier) Set a supplier for part writers to use whenmultipartCodecs()are not explicitly configured.
-
字段详细资料
-
jackson2Present
static final boolean jackson2Present -
nettyByteBufPresent
static final boolean nettyByteBufPresent -
synchronossMultipartPresent
static final boolean synchronossMultipartPresent -
protobufPresent
private static final boolean protobufPresent -
jackson2SmilePresent
private static final boolean jackson2SmilePresent -
netty5BufferPresent
static final boolean netty5BufferPresent -
jackson2JsonDecoder
@Nullable private cn.taketoday.core.codec.Decoder<?> jackson2JsonDecoder -
jackson2JsonEncoder
@Nullable private cn.taketoday.core.codec.Encoder<?> jackson2JsonEncoder -
jackson2SmileEncoder
@Nullable private cn.taketoday.core.codec.Encoder<?> jackson2SmileEncoder -
jackson2SmileDecoder
@Nullable private cn.taketoday.core.codec.Decoder<?> jackson2SmileDecoder -
protobufDecoder
@Nullable private cn.taketoday.core.codec.Decoder<?> protobufDecoder -
protobufEncoder
@Nullable private cn.taketoday.core.codec.Encoder<?> protobufEncoder -
multipartCodecs
-
partWritersSupplier
-
multipartReader
-
codecConsumer
-
maxInMemorySize
-
enableLoggingRequestDetails
-
registerDefaults
private boolean registerDefaults -
typedReaders
-
objectReaders
-
typedWriters
-
objectWriters
-
-
构造器详细资料
-
BaseDefaultCodecs
BaseDefaultCodecs() -
BaseDefaultCodecs
Create a deep copy of the givenBaseDefaultCodecs.
-
-
方法详细资料
-
initReaders
protected void initReaders()Reset and initialize typed readers and object readers. -
initWriters
protected void initWriters()Reset and initialize typed writers and object writers. -
jackson2JsonDecoder
public void jackson2JsonDecoder(cn.taketoday.core.codec.Decoder<?> decoder) 从接口复制的说明:CodecConfigurer.DefaultCodecsOverride the default Jackson JSONDecoder.Note that
CodecConfigurer.DefaultCodecs.maxInMemorySize(int), if configured, will be applied to the given decoder.- 指定者:
jackson2JsonDecoder在接口中CodecConfigurer.DefaultCodecs- 参数:
decoder- the decoder instance to use- 另请参阅:
-
jackson2JsonEncoder
public void jackson2JsonEncoder(cn.taketoday.core.codec.Encoder<?> encoder) 从接口复制的说明:CodecConfigurer.DefaultCodecsOverride the default Jackson JSONEncoder.- 指定者:
jackson2JsonEncoder在接口中CodecConfigurer.DefaultCodecs- 参数:
encoder- the encoder instance to use- 另请参阅:
-
jackson2SmileDecoder
public void jackson2SmileDecoder(cn.taketoday.core.codec.Decoder<?> decoder) 从接口复制的说明:CodecConfigurer.DefaultCodecsOverride the default Jackson SmileDecoder.Note that
CodecConfigurer.DefaultCodecs.maxInMemorySize(int), if configured, will be applied to the given decoder.- 指定者:
jackson2SmileDecoder在接口中CodecConfigurer.DefaultCodecs- 参数:
decoder- the decoder instance to use- 另请参阅:
-
jackson2SmileEncoder
public void jackson2SmileEncoder(cn.taketoday.core.codec.Encoder<?> encoder) 从接口复制的说明:CodecConfigurer.DefaultCodecsOverride the default Jackson SmileEncoder.- 指定者:
jackson2SmileEncoder在接口中CodecConfigurer.DefaultCodecs- 参数:
encoder- the encoder instance to use- 另请参阅:
-
protobufDecoder
public void protobufDecoder(cn.taketoday.core.codec.Decoder<?> decoder) 从接口复制的说明:CodecConfigurer.DefaultCodecsOverride the default ProtobufDecoder.Note that
CodecConfigurer.DefaultCodecs.maxInMemorySize(int), if configured, will be applied to the given decoder.- 指定者:
protobufDecoder在接口中CodecConfigurer.DefaultCodecs- 参数:
decoder- the decoder instance to use- 另请参阅:
-
protobufEncoder
public void protobufEncoder(cn.taketoday.core.codec.Encoder<?> encoder) 从接口复制的说明:CodecConfigurer.DefaultCodecsOverride the default ProtobufEncoder.- 指定者:
protobufEncoder在接口中CodecConfigurer.DefaultCodecs- 参数:
encoder- the encoder instance to use- 另请参阅:
-
configureDefaultCodec
从接口复制的说明:CodecConfigurer.DefaultCodecsRegister a consumer to apply to default config instances. This can be used to configure rather than replace a specific codec or multiple codecs. The consumer is applied to every defaultEncoder,Decoder,HttpMessageReaderandHttpMessageWriterinstance.- 指定者:
configureDefaultCodec在接口中CodecConfigurer.DefaultCodecs- 参数:
codecConsumer- the consumer to apply
-
maxInMemorySize
public void maxInMemorySize(int byteCount) 从接口复制的说明:CodecConfigurer.DefaultCodecsConfigure a limit on the number of bytes that can be buffered whenever the input stream needs to be aggregated. This can be a result of decoding to a singleDataBuffer,ByteBuffer,byte[],Resource,String, etc. It can also occur when splitting the input stream, e.g. delimited text, in which case the limit applies to data buffered between delimiters.By default this is not set, in which case individual codec defaults apply. All codecs are limited to 256K by default.
- 指定者:
maxInMemorySize在接口中CodecConfigurer.DefaultCodecs- 参数:
byteCount- the max number of bytes to buffer, or -1 for unlimited
-
maxInMemorySize
从接口复制的说明:CodecConfigurer.DefaultCodecConfigGet the configured limit on the number of bytes that can be buffered whenever the input stream needs to be aggregated. -
enableLoggingRequestDetails
public void enableLoggingRequestDetails(boolean enable) 从接口复制的说明:CodecConfigurer.DefaultCodecsWhether to log form data at DEBUG level, and headers at TRACE level. Both may contain sensitive information.By default set to
falseso that request details are not shown.- 指定者:
enableLoggingRequestDetails在接口中CodecConfigurer.DefaultCodecs- 参数:
enable- whether to enable or not
-
multipartCodecs
从接口复制的说明:CodecConfigurer.DefaultCodecsConfigure encoders or writers for use withMultipartHttpMessageWriter.- 指定者:
multipartCodecs在接口中CodecConfigurer.DefaultCodecs
-
multipartReader
从接口复制的说明:CodecConfigurer.DefaultCodecsConfigure theHttpMessageReaderto use for multipart requests.Note that
CodecConfigurer.DefaultCodecs.maxInMemorySize(int)and/orCodecConfigurer.DefaultCodecs.enableLoggingRequestDetails(boolean), if configured, will be applied to the given reader, if applicable.- 指定者:
multipartReader在接口中CodecConfigurer.DefaultCodecs- 参数:
multipartReader- the message reader to use for multipart requests.
-
setPartWritersSupplier
Set a supplier for part writers to use whenmultipartCodecs()are not explicitly configured. That's the same set of writers as for general except for the multipart writer itself. -
isEnableLoggingRequestDetails
从接口复制的说明:CodecConfigurer.DefaultCodecConfigWhether to log form data at DEBUG level, and headers at TRACE level. Both may contain sensitive information. -
registerDefaults
void registerDefaults(boolean registerDefaults) Delegate method used fromBaseCodecConfigurer.registerDefaults(boolean). -
getTypedReaders
Return readers that support specific types. -
initTypedReaders
protected void initTypedReaders()Reset and initialize typed readers. -
addCodec
Initialize a codec and add it to the List. -
initCodec
ApplymaxInMemorySize()andenableLoggingRequestDetails, if configured by the application, to the given codec , including any codec it contains. -
extendTypedReaders
Hook for client or server specific typed readers. -
getObjectReaders
Return Object readers (JSON, XML, SSE). -
initObjectReaders
protected void initObjectReaders()Reset and initialize object readers. -
extendObjectReaders
Hook for client or server specific Object readers. -
getCatchAllReaders
Return readers that need to be at the end, after all others. -
getTypedWriters
Return all writers that support specific types. -
initTypedWriters
protected void initTypedWriters()Reset and initialize typed writers.- 从以下版本开始:
- 4.0
-
getBaseTypedWriters
Return "base" typed writers only, i.e. common to client and server. -
getPartWriters
-
extendTypedWriters
Hook for client or server specific typed writers. -
getObjectWriters
Return Object writers (JSON, XML, SSE). -
initObjectWriters
protected void initObjectWriters()Reset and initialize object writers. -
getBaseObjectWriters
Return "base" object writers only, i.e. common to client and server. -
extendObjectWriters
Hook for client or server specific Object writers. -
getCatchAllWriters
List<HttpMessageWriter<?>> getCatchAllWriters()Return writers that need to be at the end, after all others. -
applyDefaultConfig
-
applyDefaultConfig
-
getJackson2JsonDecoder
protected cn.taketoday.core.codec.Decoder<?> getJackson2JsonDecoder() -
getJackson2JsonEncoder
protected cn.taketoday.core.codec.Encoder<?> getJackson2JsonEncoder()
-