Package org.apache.commons.io.input
Class ChecksumInputStream.Builder
- java.lang.Object
-
- org.apache.commons.io.build.AbstractSupplier<T,B>
-
- org.apache.commons.io.build.AbstractOriginSupplier<T,B>
-
- org.apache.commons.io.build.AbstractStreamBuilder<ChecksumInputStream,ChecksumInputStream.Builder>
-
- org.apache.commons.io.input.ChecksumInputStream.Builder
-
- All Implemented Interfaces:
IOSupplier<ChecksumInputStream>
- Enclosing class:
- ChecksumInputStream
public static class ChecksumInputStream.Builder extends AbstractStreamBuilder<ChecksumInputStream,ChecksumInputStream.Builder>
Builds a newChecksumInputStream
.There is no default
Checksum
; you MUST provide one.Using NIO
ChecksumInputStream s = ChecksumInputStream.builder() .setPath(Paths.get("MyFile.xml")) .setChecksum(new CRC32()) .setExpectedChecksumValue(12345) .get();
Using IO
ChecksumInputStream s = ChecksumInputStream.builder() .setFile(new File("MyFile.xml")) .setChecksum(new CRC32()) .setExpectedChecksumValue(12345) .get();
Validating only part of an InputStream
The following validates the first 100 bytes of the given input.
ChecksumInputStream s = ChecksumInputStream.builder() .setPath(Paths.get("MyFile.xml")) .setChecksum(new CRC32()) .setExpectedChecksumValue(12345) .setCountThreshold(100) .get();
To validate input after the beginning of a stream, build an instance with an InputStream starting where you want to validate.
InputStream inputStream = ...; inputStream.read(...); inputStream.skip(...); ChecksumInputStream s = ChecksumInputStream.builder() .setInputStream(inputStream) .setChecksum(new CRC32()) .setExpectedChecksumValue(12345) .setCountThreshold(100) .get();
- See Also:
get()
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ChecksumInputStream
get()
Builds a newChecksumInputStream
.ChecksumInputStream.Builder
setChecksum(java.util.zip.Checksum checksum)
Sets the Checksum.ChecksumInputStream.Builder
setCountThreshold(long countThreshold)
Sets the count threshold to limit how much input is consumed to update theChecksum
before the input stream validates its value.ChecksumInputStream.Builder
setExpectedChecksumValue(long expectedChecksumValue)
The expectedChecksum
value once the stream is exhausted or the count threshold is reached.-
Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder
getCharset, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeMax, setCharset, setCharset, setOpenOptions
-
Methods inherited from class org.apache.commons.io.build.AbstractOriginSupplier
setByteArray, setCharSequence, setFile, setFile, setInputStream, setOutputStream, setPath, setPath, setReader, setURI, setWriter
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.io.function.IOSupplier
asSupplier
-
-
-
-
Method Detail
-
get
public ChecksumInputStream get() throws java.io.IOException
Builds a newChecksumInputStream
.You must set input that supports
AbstractStreamBuilder.getInputStream()
, otherwise, this method throws an exception.This builder use the following aspects:
AbstractStreamBuilder.getInputStream()
Checksum
- expectedChecksumValue
- countThreshold
- Returns:
- a new instance.
- Throws:
java.lang.IllegalStateException
- if theorigin
isnull
.java.lang.UnsupportedOperationException
- if the origin cannot be converted to anInputStream
.java.io.IOException
- if an I/O error occurs.- See Also:
AbstractStreamBuilder.getInputStream()
-
setChecksum
public ChecksumInputStream.Builder setChecksum(java.util.zip.Checksum checksum)
Sets the Checksum.- Parameters:
checksum
- the Checksum.- Returns:
- this.
-
setCountThreshold
public ChecksumInputStream.Builder setCountThreshold(long countThreshold)
Sets the count threshold to limit how much input is consumed to update theChecksum
before the input stream validates its value.By default, all input updates the
Checksum
.- Parameters:
countThreshold
- the count threshold. A negative number means the threshold is unbound.- Returns:
- this.
-
setExpectedChecksumValue
public ChecksumInputStream.Builder setExpectedChecksumValue(long expectedChecksumValue)
The expectedChecksum
value once the stream is exhausted or the count threshold is reached.- Parameters:
expectedChecksumValue
- The expected Checksum value.- Returns:
- this.
-
-