Package org.apache.commons.io.input
Class BOMInputStream.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<BOMInputStream,BOMInputStream.Builder>
-
- org.apache.commons.io.input.BOMInputStream.Builder
-
- All Implemented Interfaces:
IOSupplier<BOMInputStream>
- Enclosing class:
- BOMInputStream
public static class BOMInputStream.Builder extends AbstractStreamBuilder<BOMInputStream,BOMInputStream.Builder>
Builds a newBOMInputStream
instance.Using NIO
BOMInputStream s = BOMInputStream.builder() .setPath(Paths.get("MyFile.xml")) .setByteOrderMarks(ByteOrderMark.UTF_8) .setInclude(false) .get();
Using IO
BOMInputStream s = BOMInputStream.builder() .setFile(new File("MyFile.xml")) .setByteOrderMarks(ByteOrderMark.UTF_8) .setInclude(false) .get();
- Since:
- 2.12.0
-
-
Field Summary
Fields Modifier and Type Field Description private ByteOrderMark[]
byteOrderMarks
private static ByteOrderMark[]
DEFAULT
private boolean
include
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BOMInputStream
get()
Constructs a new instance.(package private) static ByteOrderMark
getDefaultByteOrderMark()
For test access.BOMInputStream.Builder
setByteOrderMarks(ByteOrderMark... byteOrderMarks)
Sets the ByteOrderMarks to detect and optionally exclude.BOMInputStream.Builder
setInclude(boolean include)
Sets whether to include the UTF-8 BOM (true) or to exclude it (false).-
Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder
getBufferSize, getBufferSizeDefault, getCharSequence, getCharset, getCharsetDefault, getInputStream, getOpenOptions, getOutputStream, getPath, getWriter, setBufferSize, setBufferSize, setBufferSizeDefault, 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, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOrigin, setOutputStream, setPath, setPath, 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
-
-
-
-
Field Detail
-
DEFAULT
private static final ByteOrderMark[] DEFAULT
-
byteOrderMarks
private ByteOrderMark[] byteOrderMarks
-
include
private boolean include
-
-
Method Detail
-
getDefaultByteOrderMark
static ByteOrderMark getDefaultByteOrderMark()
For test access.- Returns:
- the default byte order mark
-
get
public BOMInputStream get() throws java.io.IOException
Constructs a new instance.This builder use the aspects InputStream, OpenOption[], include, and ByteOrderMark[].
You must provide an origin that can be converted to an InputStream by this builder, otherwise, this call will throw an
UnsupportedOperationException
.- Returns:
- a new instance.
- Throws:
java.lang.UnsupportedOperationException
- if the origin cannot provide an InputStream.java.io.IOException
- if an I/O error occurs.- See Also:
AbstractStreamBuilder.getInputStream()
-
setByteOrderMarks
public BOMInputStream.Builder setByteOrderMarks(ByteOrderMark... byteOrderMarks)
Sets the ByteOrderMarks to detect and optionally exclude.The default is
ByteOrderMark.UTF_8
.- Parameters:
byteOrderMarks
- the ByteOrderMarks to detect and optionally exclude.- Returns:
- this
-
setInclude
public BOMInputStream.Builder setInclude(boolean include)
Sets whether to include the UTF-8 BOM (true) or to exclude it (false).The default is false.
- Parameters:
include
- true to include the UTF-8 BOM or false to exclude it. return this;- Returns:
- this
-
-