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 an 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 an charset is defined (by the contentType) use that, otherwise use a StringReader- Specified by:
getReader
in interfaceContentStream
- Overrides:
getReader
in classContentStreamBase
- Throws:
IOException
-
-