Package org.apache.commons.io.input
Class ThrottledInputStream.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<T,B>
-
- org.apache.commons.io.input.ProxyInputStream.AbstractBuilder<ThrottledInputStream,ThrottledInputStream.Builder>
-
- org.apache.commons.io.input.ThrottledInputStream.Builder
-
- All Implemented Interfaces:
IOSupplier<ThrottledInputStream>
- Enclosing class:
- ThrottledInputStream
public static class ThrottledInputStream.Builder extends ProxyInputStream.AbstractBuilder<ThrottledInputStream,ThrottledInputStream.Builder>
Builds a newThrottledInputStream
.Using NIO
ThrottledInputStream in = ThrottledInputStream.builder() .setPath(Paths.get("MyFile.xml")) .setMaxBytesPerSecond(100_000) .get();
Using IO
ThrottledInputStream in = ThrottledInputStream.builder() .setFile(new File("MyFile.xml")) .setMaxBytesPerSecond(100_000) .get();
ThrottledInputStream in = ThrottledInputStream.builder() .setInputStream(inputStream) .setMaxBytesPerSecond(100_000) .get();
- See Also:
get()
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ThrottledInputStream
get()
Builds a newThrottledInputStream
.void
setMaxBytesPerSecond(long maxBytesPerSecond)
Sets the maximum bytes per second.-
Methods inherited from class org.apache.commons.io.input.ProxyInputStream.AbstractBuilder
getAfterRead, setAfterRead
-
Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder
getBufferSize, getBufferSizeDefault, getCharSequence, getCharset, getCharsetDefault, getFile, getInputStream, getOpenOptions, getOutputStream, getPath, getRandomAccessFile, getReader, getWriter, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeDefault, setBufferSizeMax, setCharset, setCharset, setCharsetDefault, setOpenOptions
-
Methods inherited from class org.apache.commons.io.build.AbstractOriginSupplier
checkOrigin, getOrigin, hasOrigin, newByteArrayOrigin, newCharSequenceOrigin, newFileOrigin, newFileOrigin, newInputStreamOrigin, newOutputStreamOrigin, newPathOrigin, newPathOrigin, newRandomAccessFileOrigin, newRandomAccessFileOrigin, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOrigin, setOutputStream, setPath, setPath, setRandomAccessFile, setRandomAccessFile, setReader, setURI, setWriter
-
Methods inherited from class org.apache.commons.io.build.AbstractSupplier
asThis
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.io.function.IOSupplier
asSupplier, getUnchecked
-
-
-
-
Constructor Detail
-
Builder
public Builder()
-
-
Method Detail
-
get
public ThrottledInputStream get() throws java.io.IOException
Builds a newThrottledInputStream
.You must set input that supports
AbstractStreamBuilder.getInputStream()
, otherwise, this method throws an exception.This builder use the following aspects:
AbstractStreamBuilder.getInputStream()
- maxBytesPerSecond
- 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()
-
setMaxBytesPerSecond
public void setMaxBytesPerSecond(long maxBytesPerSecond)
Sets the maximum bytes per second.- Parameters:
maxBytesPerSecond
- the maximum bytes per second.
-
-