Package org.apache.solr.common.util
Class ContentStreamBase.StringStream
- java.lang.Object
-
- org.apache.solr.common.util.ContentStreamBase
-
- org.apache.solr.common.util.ContentStreamBase.StringStream
-
- All Implemented Interfaces:
ContentStream
- Enclosing class:
- ContentStreamBase
public static class ContentStreamBase.StringStream extends ContentStreamBase
Construct aContentStream
from aString
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.common.util.ContentStreamBase
ContentStreamBase.ByteArrayStream, ContentStreamBase.FileStream, ContentStreamBase.StringStream, ContentStreamBase.URLStream
-
-
Field Summary
-
Fields inherited from class org.apache.solr.common.util.ContentStreamBase
APPLICATION_GZIP, APPLICATION_JSON, APPLICATION_OCTET_STREAM, APPLICATION_XML, contentType, DEFAULT_CHARSET, name, size, sourceInfo, TEXT_XML
-
-
Constructor Summary
Constructors Constructor Description StringStream(String str)
StringStream(String str, String contentType)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static String
detect(String str)
Reader
getReader()
If a charset is defined (by the contentType) use that, otherwise use a StringReaderInputStream
getStream()
Get an open stream.-
Methods inherited from class org.apache.solr.common.util.ContentStreamBase
attemptToDetermineContentType, create, getCharsetFromContentType, getContentType, getName, getSize, getSourceInfo, setContentType, setName, setSize, setSourceInfo
-
-
-
-
Method Detail
-
getStream
public InputStream getStream() throws IOException
Description copied from interface:ContentStream
Get an open stream. You are responsible for closing it. Consider using something like:InputStream stream = stream.getStream(); try { // use the stream... } finally { IOUtils.closeQuietly(stream); }
Only the first call togetStream()
orgetReader()
is guaranteed to work. The runtime behavior for additional calls is undefined.Note: you must call
getStream()
orgetReader()
before the attributes (name, contentType, etc.) are guaranteed to be set. Streams may be lazy loaded only when this method is called.- Throws:
IOException
-
getReader
public Reader getReader() throws IOException
If a charset is defined (by the contentType) use that, otherwise use a StringReader- Specified by:
getReader
in interfaceContentStream
- Overrides:
getReader
in classContentStreamBase
- Throws:
IOException
-
-