org.apache.http.entity
Class StringEntity

java.lang.Object
  extended by org.apache.http.entity.AbstractHttpEntity
      extended by org.apache.http.entity.StringEntity
All Implemented Interfaces:
Cloneable, HttpEntity

@NotThreadSafe
public class StringEntity
extends AbstractHttpEntity
implements Cloneable

A self contained, repeatable entity that obtains its content from a String.

Since:
4.0

Field Summary
protected  byte[] content
           
 
Fields inherited from class org.apache.http.entity.AbstractHttpEntity
chunked, contentEncoding, contentType, OUTPUT_BUFFER_SIZE
 
Constructor Summary
StringEntity(String string)
          Creates a StringEntity with the specified content.
StringEntity(String string, Charset charset)
          Creates a StringEntity with the specified content and charset.
StringEntity(String string, ContentType contentType)
          Creates a StringEntity with the specified content and content type.
StringEntity(String string, String charset)
          Creates a StringEntity with the specified content and charset.
StringEntity(String string, String mimeType, String charset)
          Deprecated. (4.1.3) use StringEntity(String, ContentType)
 
Method Summary
 Object clone()
           
 InputStream getContent()
          Returns a content stream of the entity.
 long getContentLength()
          Tells the length of the content, if known.
 boolean isRepeatable()
          Tells if the entity is capable of producing its data more than once.
 boolean isStreaming()
          Tells that this entity is not streaming.
 void writeTo(OutputStream outstream)
          Writes the entity content out to the output stream.
 
Methods inherited from class org.apache.http.entity.AbstractHttpEntity
consumeContent, getContentEncoding, getContentType, isChunked, setChunked, setContentEncoding, setContentEncoding, setContentType, setContentType, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

content

protected final byte[] content
Constructor Detail

StringEntity

public StringEntity(String string,
                    ContentType contentType)
             throws UnsupportedCharsetException
Creates a StringEntity with the specified content and content type.

Parameters:
string - content to be used. Not null.
contentType - content type to be used. May be null, in which case the default MIME type ContentType.TEXT_PLAIN is assumed.
Throws:
IllegalArgumentException - if the string parameter is null
UnsupportedCharsetException - Thrown when the named charset is not available in this instance of the Java virtual machine
Since:
4.2

StringEntity

@Deprecated
public StringEntity(String string,
                               String mimeType,
                               String charset)
             throws UnsupportedEncodingException
Deprecated. (4.1.3) use StringEntity(String, ContentType)

Creates a StringEntity with the specified content, MIME type and charset

Parameters:
string - content to be used. Not null.
mimeType - MIME type to be used. May be null, in which case the default is HTTP.PLAIN_TEXT_TYPE i.e. "text/plain"
charset - character set to be used. May be null, in which case the default is HTTP.DEF_CONTENT_CHARSET i.e. "ISO-8859-1"
Throws:
UnsupportedEncodingException - If the named charset is not supported.
IllegalArgumentException - if the string parameter is null
Since:
4.1

StringEntity

public StringEntity(String string,
                    String charset)
             throws UnsupportedCharsetException
Creates a StringEntity with the specified content and charset. The MIME type defaults to "text/plain".

Parameters:
string - content to be used. Not null.
charset - character set to be used. May be null, in which case the default is HTTP.DEF_CONTENT_CHARSET is assumed
Throws:
IllegalArgumentException - if the string parameter is null
UnsupportedCharsetException - Thrown when the named charset is not available in this instance of the Java virtual machine

StringEntity

public StringEntity(String string,
                    Charset charset)
Creates a StringEntity with the specified content and charset. The MIME type defaults to "text/plain".

Parameters:
string - content to be used. Not null.
charset - character set to be used. May be null, in which case the default is HTTP.DEF_CONTENT_CHARSET is assumed
Throws:
IllegalArgumentException - if the string parameter is null
Since:
4.2

StringEntity

public StringEntity(String string)
             throws UnsupportedEncodingException
Creates a StringEntity with the specified content. The content type defaults to ContentType.TEXT_PLAIN.

Parameters:
string - content to be used. Not null.
Throws:
IllegalArgumentException - if the string parameter is null
UnsupportedEncodingException - if the default HTTP charset is not supported.
Method Detail

isRepeatable

public boolean isRepeatable()
Description copied from interface: HttpEntity
Tells if the entity is capable of producing its data more than once. A repeatable entity's getContent() and writeTo(OutputStream) methods can be called more than once whereas a non-repeatable entity's can not.

Specified by:
isRepeatable in interface HttpEntity
Returns:
true if the entity is repeatable, false otherwise.

getContentLength

public long getContentLength()
Description copied from interface: HttpEntity
Tells the length of the content, if known.

Specified by:
getContentLength in interface HttpEntity
Returns:
the number of bytes of the content, or a negative number if unknown. If the content length is known but exceeds Long.MAX_VALUE, a negative number is returned.

getContent

public InputStream getContent()
                       throws IOException
Description copied from interface: HttpEntity
Returns a content stream of the entity. Repeatable entities are expected to create a new instance of InputStream for each invocation of this method and therefore can be consumed multiple times. Entities that are not repeatable are expected to return the same InputStream instance and therefore may not be consumed more than once.

IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated after the InputStream.close() method is invoked.

Specified by:
getContent in interface HttpEntity
Returns:
content stream of the entity.
Throws:
IOException - if the stream could not be created
See Also:
HttpEntity.isRepeatable()

writeTo

public void writeTo(OutputStream outstream)
             throws IOException
Description copied from interface: HttpEntity
Writes the entity content out to the output stream.

IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated when this method returns.

Specified by:
writeTo in interface HttpEntity
Parameters:
outstream - the output stream to write entity content to
Throws:
IOException - if an I/O error occurs

isStreaming

public boolean isStreaming()
Tells that this entity is not streaming.

Specified by:
isStreaming in interface HttpEntity
Returns:
false

clone

public Object clone()
             throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException


Copyright © 2005–2015 The Apache Software Foundation. All rights reserved.