DataSource
General purpose readable byte data source.
API
interface DataSource {
Try<T> tryReadAll(Function<InputStream, Try<T>> consumingMapper)
Try<T> tryReadAndApply(ThrowingFunction<InputStream, T> inputStreamMapper) (1)
Try<Void> tryReadAndAccept(ThrowingConsumer<InputStream> inputStreamConsumer) (2)
Try<byte[]> tryReadAsBytes() (3)
byte[] bytes() (4)
Try<String> tryReadAsString(Charset charset) (5)
Try<String> tryReadAsStringUtf8() (6)
Try<Can<String>> tryReadAsLines(Charset charset) (7)
Try<Can<String>> tryReadAsLinesUtf8() (8)
Try<BufferedImage> tryReadAsImage()
Try<HashUtils.Hash> tryHash(HashAlgorithm hashAlgorithm)
Try<HashUtils.Hash> tryMd5()
String md5Hex()
DataSource map(ThrowingFunction<InputStream, InputStream> inputStreamMapper) (9)
Try<Void> tryReadAndWrite(DataSink dataSink, int bufferSize) (10)
void pipe(DataSink dataSink, int bufferSize) (11)
void pipe(DataSink dataSink) (12)
DataSource empty() (13)
DataSource ofInputStreamSupplier(ThrowingSupplier<InputStream> inputStreamSupplier) (14)
DataSource ofInputStreamEagerly(InputStream inputStream) (15)
DataSource ofResource(Class<?> cls, String resourcePath) (16)
DataSource ofSpringResource(Resource springResource) (17)
DataSource ofFile(File file) (18)
DataSource ofString(String string, Charset charset) (19)
DataSource ofStringUtf8(String string) (20)
DataSource ofBytes(byte[] bytes) (21)
Optional<File> getFile() (22)
void consumeAsFile(ThrowingConsumer<File> fileConsumer) (23)
String getDescription() (24)
DataSource ofInputStreamSupplierInternal(String description, ThrowingSupplier<InputStream> inputStreamSupplier)
DataSource ofInputStreamSupplierInternal(String description, Optional<File> file, ThrowingSupplier<InputStream> inputStreamSupplier)
String descriptionForEmpty()
String descriptionForBytes(byte[] bytes)
String descriptionForString(String string)
String descriptionForResource(Resource springResource)
String descriptionForResource(Class<?> cls, String resourcePath)
String descriptionForMapped(DataSource ds)
String descriptionForFile(File file)
Optional<File> fileForResource(Resource springResource)
}
1 | tryReadAndApply(ThrowingFunction)
Passes an InputStream to given Function for application. |
2 | tryReadAndAccept(ThrowingConsumer)
Passes an InputStream to given Consumer for consumption. |
3 | tryReadAsBytes()
Reads from this DataSource into a String using given charset encoding. |
4 | bytes()
Shortcut for tryReadAsBytes().valueAsNonNullElseFail() . |
5 | tryReadAsString(Charset)
Reads from this DataSource into a String using given charset encoding. |
6 | tryReadAsStringUtf8()
Reads from this DataSource into a String using UTF-8 encoding. |
7 | tryReadAsLines(Charset)
Reads from this DataSource all lines using given charset encoding. |
8 | tryReadAsLinesUtf8()
Reads from this DataSource all lines using UTF-8 encoding. |
9 | map(ThrowingFunction)
Returns a new DataSource that maps the InputStream of this DataSource to another through means of applying given unary operator inputStreamMapper . (eg the decode or encode the originating input stream) |
10 | tryReadAndWrite(DataSink, int)
Acts as a pipe, reading from this DataSource and writing to given DataSink , using given bufferSize for the underlying byte data junks. |
11 | pipe(DataSink, int)
Acts as a pipe, reading from this DataSource and writing to given DataSink , using given bufferSize for the underlying byte data junks. |
12 | pipe(DataSink)
Acts as a pipe, reading from this DataSource and writing to given DataSink , using default bufferSize of 16k for the underlying byte data junks. |
13 | empty()
Acts as a no-op. |
14 | ofInputStreamSupplier(ThrowingSupplier)
Creates a DataSource for given InputStream Supplier. |
15 | ofInputStreamEagerly(InputStream)
Creates a DataSource for given InputStream eagerly. That is, it reads the InputStream into a byte array, which can be later read from repeatedly. |
16 | ofResource(Class, String)
Creates a DataSource for given resource path relative to Class . |
17 | ofSpringResource(Resource)
Creates a DataSource for given Spring Resource . |
18 | ofFile(File)
Creates a DataSource for given File . If |
19 | ofString(String, Charset)
Creates a DataSource for given String . If |
20 | ofStringUtf8(String)
Creates a DataSource for given String . If |
21 | ofBytes(byte)
Creates a DataSource for given byte array. If |
22 | getFile()
Optionally returns the underlying File , based on whether this resource originates from a file. |
23 | consumeAsFile(ThrowingConsumer)
The given file-consumer is either passed the underlying File (if this resource originates from a file), or a temporary file. |
24 | getDescription()
Return a description for this DataSource, to be used for error output when working with the resource. |
Members
tryReadAsBytes()
Reads from this DataSource into a String using given charset encoding.
If the underlying InputStream is null a success Try is returned, containing a null value.
tryReadAsString(Charset)
Reads from this DataSource into a String using given charset encoding.
If the underlying InputStream is null a success Try is returned, containing a null value.
tryReadAsStringUtf8()
Reads from this DataSource into a String using UTF-8 encoding.
If the underlying InputStream is null a success Try is returned, containing a null value.
tryReadAsLines(Charset)
Reads from this DataSource all lines using given charset encoding.
If the underlying InputStream is null a success Try is returned, containing a null value.
tryReadAsLinesUtf8()
Reads from this DataSource all lines using UTF-8 encoding.
If the underlying InputStream is null a success Try is returned, containing a null value.
map(ThrowingFunction)
Returns a new DataSource that maps the InputStream of this DataSource to another through means of applying given unary operator inputStreamMapper . (eg the decode or encode the originating input stream)
tryReadAndWrite(DataSink, int)
Acts as a pipe, reading from this DataSource and writing to given DataSink , using given bufferSize for the underlying byte data junks.
pipe(DataSink, int)
Acts as a pipe, reading from this DataSource and writing to given DataSink , using given bufferSize for the underlying byte data junks.
Throws if the write failed.
pipe(DataSink)
Acts as a pipe, reading from this DataSource and writing to given DataSink , using default bufferSize of 16k for the underlying byte data junks.
Throws if the write failed.
ofInputStreamSupplier(ThrowingSupplier)
Creates a DataSource for given InputStream Supplier.
ofInputStreamEagerly(InputStream)
Creates a DataSource for given InputStream eagerly. That is, it reads the InputStream into a byte array, which can be later read from repeatedly.
If reading from given InputStream throws any exception, it is propagated without catching.
ofResource(Class, String)
Creates a DataSource for given resource path relative to Class .
If any of the args is null (or empty), returns an 'empty' DataSource .
ofSpringResource(Resource)
Creates a DataSource for given Spring Resource .
If the single argument is null, returns an 'empty' DataSource .
ofFile(File)
Creates a DataSource for given File . If null
, an 'empty' DataSource is returned.
ofString(String, Charset)
Creates a DataSource for given String . If null
or empty, an 'empty' DataSource is returned.
ofStringUtf8(String)
Creates a DataSource for given String . If null
or empty, an 'empty' DataSource is returned.
ofBytes(byte)
Creates a DataSource for given byte array. If null
or empty, an 'empty' DataSource is returned.
getFile()
Optionally returns the underlying File , based on whether this resource originates from a file.