Interface ContentStreamProvider
- All Known Implementing Classes:
CompressionContentStreamProvider
,FileContentStreamProvider
,ResettableContentStreamProvider
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Each call to the newStream()
method must result in a stream whose position is at the beginning of the content.
Implementations may return a new stream or the same stream for each call. If returning a new stream, the implementation
must ensure to close()
and free any resources acquired by the previous stream. The last stream returned by newStream()
} will be closed by the SDK.
-
Method Summary
Modifier and TypeMethodDescriptionstatic ContentStreamProvider
fromByteArray
(byte[] bytes) CreateContentStreamProvider
from a byte array.static ContentStreamProvider
fromByteArrayUnsafe
(byte[] bytes) CreateContentStreamProvider
from a byte array without copying the contents of the byte array.static ContentStreamProvider
fromInputStream
(InputStream inputStream) Create aContentStreamProvider
from an input stream.static ContentStreamProvider
fromInputStreamSupplier
(Supplier<InputStream> inputStreamSupplier) CreateContentStreamProvider
from an input stream supplier.static ContentStreamProvider
fromString
(String string, Charset charset) CreateContentStreamProvider
from a string, using the provided charset.static ContentStreamProvider
fromUtf8String
(String string) CreateContentStreamProvider
from a string, using the UTF-8 charset.
-
Method Details
-
fromByteArray
CreateContentStreamProvider
from a byte array. This will copy the contents of the byte array. -
fromByteArrayUnsafe
CreateContentStreamProvider
from a byte array without copying the contents of the byte array. This introduces concurrency risks, allowing the caller to modify the byte array stored in thisContentStreamProvider
implementation.As the method name implies, this is unsafe. Use
fromByteArray(byte[])
unless you're sure you know the risks. -
fromString
CreateContentStreamProvider
from a string, using the provided charset. -
fromUtf8String
CreateContentStreamProvider
from a string, using the UTF-8 charset. -
fromInputStream
Create aContentStreamProvider
from an input stream.If the provided input stream supports mark/reset, the stream will be marked with a 128Kb read limit and reset each time
newStream()
is invoked. If the provided input stream does not support mark/reset,newStream()
will return the provided stream once, but fail subsequent calls. To create new streams when needed instead of using mark/reset, seefromInputStreamSupplier(Supplier)
. -
fromInputStreamSupplier
CreateContentStreamProvider
from an input stream supplier. Each time a new stream is retrieved from this content stream provider, the last one returned will be closed. -
newStream
InputStream newStream()- Returns:
- The content stream.
-