Class XmlStreamReader.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<XmlStreamReader,XmlStreamReader.Builder>
 - 
- org.apache.commons.io.input.XmlStreamReader.Builder
 
 
 
 
 
- 
- All Implemented Interfaces:
 IOSupplier<XmlStreamReader>
- Enclosing class:
 - XmlStreamReader
 
public static class XmlStreamReader.Builder extends AbstractStreamBuilder<XmlStreamReader,XmlStreamReader.Builder>
Builds a newXmlStreamWriter. Constructs a Reader using an InputStream and the associated content-type header. This constructor is lenient regarding the encoding detection.First it checks if the stream has BOM. If there is not BOM checks the content-type encoding. If there is not content-type encoding checks the XML prolog encoding. If there is not XML prolog encoding uses the default encoding mandated by the content-type MIME type.
If lenient detection is indicated and the detection above fails as per specifications it then attempts the following:
If the content type was 'text/html' it replaces it with 'text/xml' and tries the detection again.
Else if the XML prolog had a charset encoding that encoding is used.
Else if the content type had a charset encoding that encoding is used.
Else 'UTF-8' is used.
If lenient detection is indicated an XmlStreamReaderException is never thrown.
For example:
XmlStreamReader r = XmlStreamReader.builder() .setPath(path) .setCharset(StandardCharsets.UTF_8) .get();- Since:
 - 2.12.0
 - See Also:
 get()
 
- 
- 
Constructor Summary
Constructors Constructor Description Builder() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XmlStreamReaderget()Builds a newXmlStreamWriter.XmlStreamReader.BuildersetCharset(java.lang.String charset)Sets the Charset.XmlStreamReader.BuildersetCharset(java.nio.charset.Charset charset)Sets the Charset.XmlStreamReader.BuildersetHttpContentType(java.lang.String httpContentType)Sets the HTTP content type.XmlStreamReader.BuildersetLenient(boolean lenient)Sets the lenient toggle.- 
Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder
getCharset, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeMax, 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 XmlStreamReader get() throws java.io.IOException
Builds a newXmlStreamWriter.You must set input that supports
AbstractStreamBuilder.getInputStream(), otherwise, this method throws an exception.This builder use the following aspects:
AbstractStreamBuilder.getInputStream()AbstractStreamBuilder.getCharset()- lenient
 - httpContentType
 
- Returns:
 - a new instance.
 - Throws:
 java.lang.IllegalStateException- if theoriginisnull.java.lang.UnsupportedOperationException- if the origin cannot be converted to anInputStream.java.io.IOException- if an I/O error occurs.XmlStreamReaderException- thrown if the Charset encoding could not be determined according to the specification.- See Also:
 AbstractStreamBuilder.getInputStream()
 
- 
setCharset
public XmlStreamReader.Builder setCharset(java.nio.charset.Charset charset)
Description copied from class:AbstractStreamBuilderSets the Charset.Subclasses may ignore this setting.
- Overrides:
 setCharsetin classAbstractStreamBuilder<XmlStreamReader,XmlStreamReader.Builder>- Parameters:
 charset- the Charset, null resets to the default.- Returns:
 - this.
 
 
- 
setCharset
public XmlStreamReader.Builder setCharset(java.lang.String charset)
Description copied from class:AbstractStreamBuilderSets the Charset.Subclasses may ignore this setting.
- Overrides:
 setCharsetin classAbstractStreamBuilder<XmlStreamReader,XmlStreamReader.Builder>- Parameters:
 charset- the Charset name, null resets to the default.- Returns:
 - this.
 
 
- 
setHttpContentType
public XmlStreamReader.Builder setHttpContentType(java.lang.String httpContentType)
Sets the HTTP content type.- Parameters:
 httpContentType- the HTTP content type.- Returns:
 - this.
 
 
- 
setLenient
public XmlStreamReader.Builder setLenient(boolean lenient)
Sets the lenient toggle.- Parameters:
 lenient- the lenient toggle.- Returns:
 - this.
 
 
 - 
 
 -