Class DefaultDataBufferFactory
java.lang.Object
org.springframework.core.io.buffer.DefaultDataBufferFactory
- All Implemented Interfaces:
DataBufferFactory
Default implementation of the
DataBufferFactory interface. Allows for
specification of the default initial capacity at construction time, as well
as whether heap-based or direct buffers are to be preferred.- Since:
- 5.0
- Author:
- Arjen Poutsma
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe default capacity when none is specified.static final DefaultDataBufferFactoryShared instance based on the default constructor. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newDefaultDataBufferFactorywith default settings.DefaultDataBufferFactory(boolean preferDirect) Creates a newDefaultDataBufferFactory, indicating whether direct buffers should be created byallocateBuffer()andallocateBuffer(int).DefaultDataBufferFactory(boolean preferDirect, int defaultInitialCapacity) Creates a newDefaultDataBufferFactory, indicating whether direct buffers should be created byallocateBuffer()andallocateBuffer(int), and what the capacity is to be used forallocateBuffer(). -
Method Summary
Modifier and TypeMethodDescriptionAllocate a data buffer of a default initial capacity.allocateBuffer(int initialCapacity) Allocate a data buffer of the given initial capacity.join(List<? extends DataBuffer> dataBuffers) Return a newDataBuffercomposed of thedataBufferselements joined together.toString()wrap(byte[] bytes) Wrap the givenbytearray in aDataBuffer.wrap(ByteBuffer byteBuffer) Wrap the givenByteBufferin aDataBuffer.
-
Field Details
-
DEFAULT_INITIAL_CAPACITY
public static final int DEFAULT_INITIAL_CAPACITYThe default capacity when none is specified.
-
-
Constructor Details
-
DefaultDataBufferFactory
public DefaultDataBufferFactory()Creates a newDefaultDataBufferFactorywith default settings.- See Also:
-
DefaultDataBufferFactory
public DefaultDataBufferFactory(boolean preferDirect) Creates a newDefaultDataBufferFactory, indicating whether direct buffers should be created byallocateBuffer()andallocateBuffer(int).- Parameters:
preferDirect-trueif direct buffers are to be preferred;falseotherwise
-
DefaultDataBufferFactory
public DefaultDataBufferFactory(boolean preferDirect, int defaultInitialCapacity) Creates a newDefaultDataBufferFactory, indicating whether direct buffers should be created byallocateBuffer()andallocateBuffer(int), and what the capacity is to be used forallocateBuffer().- Parameters:
preferDirect-trueif direct buffers are to be preferred;falseotherwise
-
-
Method Details
-
allocateBuffer
Description copied from interface:DataBufferFactoryAllocate a data buffer of a default initial capacity. Depending on the underlying implementation and its configuration, this will be heap-based or direct buffer.- Specified by:
allocateBufferin interfaceDataBufferFactory- Returns:
- the allocated buffer
-
allocateBuffer
Description copied from interface:DataBufferFactoryAllocate a data buffer of the given initial capacity. Depending on the underlying implementation and its configuration, this will be heap-based or direct buffer.- Specified by:
allocateBufferin interfaceDataBufferFactory- Parameters:
initialCapacity- the initial capacity of the buffer to allocate- Returns:
- the allocated buffer
-
wrap
Description copied from interface:DataBufferFactory- Specified by:
wrapin interfaceDataBufferFactory- Parameters:
byteBuffer- the NIO byte buffer to wrap- Returns:
- the wrapped buffer
-
wrap
Description copied from interface:DataBufferFactory- Specified by:
wrapin interfaceDataBufferFactory- Parameters:
bytes- the byte array to wrap- Returns:
- the wrapped buffer
-
join
Return a newDataBuffercomposed of thedataBufferselements joined together. Depending on the implementation, the returned buffer may be a single buffer containing all data of the provided buffers, or it may be a true composite that contains references to the buffers.Note that the given data buffers do not have to be released, as they are released as part of the returned composite.
This implementation creates a single
DefaultDataBufferto contain the data indataBuffers.- Specified by:
joinin interfaceDataBufferFactory- Parameters:
dataBuffers- the data buffers to be composed- Returns:
- a buffer that is composed from the
dataBuffersargument
-
toString
-