org.apache.solr.common.util
Class ContentStreamBase.StringStream

java.lang.Object
  extended by org.apache.solr.common.util.ContentStreamBase
      extended by org.apache.solr.common.util.ContentStreamBase.StringStream
All Implemented Interfaces:
ContentStream
Enclosing class:
ContentStreamBase

public static class ContentStreamBase.StringStream
extends ContentStreamBase

Construct a ContentStream from a String


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
contentType, DEFAULT_CHARSET, name, size, sourceInfo
 
Constructor Summary
ContentStreamBase.StringStream(String str)
           
 
Method Summary
 String getContentType()
           
 Reader getReader()
          If an charset is defined (by the contentType) use that, otherwise use a StringReader
 InputStream getStream()
          Get an open stream.
 
Methods inherited from class org.apache.solr.common.util.ContentStreamBase
getCharsetFromContentType, getName, getSize, getSourceInfo, setContentType, setName, setSize, setSourceInfo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContentStreamBase.StringStream

public ContentStreamBase.StringStream(String str)
Method Detail

getContentType

public String getContentType()
Specified by:
getContentType in interface ContentStream
Overrides:
getContentType in class ContentStreamBase

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 to getStream() or getReader() is guaranteed to work. The runtime behavior for additional calls is undefined. Note: you must call getStream() or getReader() 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 interface ContentStream
Overrides:
getReader in class ContentStreamBase
Throws:
IOException


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.