Class NStringEntity

java.lang.Object
org.apache.http.entity.AbstractHttpEntity
org.apache.http.nio.entity.NStringEntity
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.http.HttpEntity, HttpAsyncContentProducer, ProducingNHttpEntity

public class NStringEntity extends org.apache.http.entity.AbstractHttpEntity implements HttpAsyncContentProducer, ProducingNHttpEntity
A simple, self contained, repeatable non-blocking entity that retrieves its content from a String object.
Since:
4.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final ByteBuffer
    Deprecated.
    (4.2)
    protected final byte[]
    Deprecated.
    (4.2)

    Fields inherited from class org.apache.http.entity.AbstractHttpEntity

    chunked, contentEncoding, contentType, OUTPUT_BUFFER_SIZE
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a NStringEntity with the specified content.
    Creates a NStringEntity with the specified content and charset.
    Creates a NStringEntity with the specified content and charset.
    NStringEntity(String s, org.apache.http.entity.ContentType contentType)
    Creates a NStringEntity with the specified content and content type.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    void
    Deprecated.
    (4.2) use close()
     
    long
     
    boolean
    Determines whether or not this producer is capable of producing its content more than once.
    boolean
     
    void
    Invoked to write out a chunk of content to the ContentEncoder.
    void
    writeTo(OutputStream outStream)
     

    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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.http.HttpEntity

    consumeContent, getContentEncoding, getContentType, isChunked
  • Field Details

  • Constructor Details

    • NStringEntity

      public NStringEntity(String s, org.apache.http.entity.ContentType contentType)
      Creates a NStringEntity with the specified content and content type.
      Parameters:
      s - content to be used. Not null.
      contentType - content type to be used. May be null, in which case ContentType.TEXT_PLAIN is assumed.
      Throws:
      IllegalArgumentException - if the string parameter is null
      Since:
      4.2
    • NStringEntity

      public NStringEntity(String s, String charset) throws UnsupportedEncodingException
      Creates a NStringEntity with the specified content and charset. The MIME type defaults to "text/plain".
      Parameters:
      s - 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
      UnsupportedEncodingException - Thrown when the named charset is not available in this instance of the Java virtual machine
    • NStringEntity

      public NStringEntity(String s, Charset charset)
      Creates a NStringEntity with the specified content and charset. The MIME type defaults to "text/plain".
      Parameters:
      s - 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
    • NStringEntity

      public NStringEntity(String s) throws UnsupportedEncodingException
      Creates a NStringEntity with the specified content. The content type defaults to ContentType.TEXT_PLAIN.
      Parameters:
      s - content to be used. Not null.
      Throws:
      IllegalArgumentException - if the string parameter is null
      UnsupportedEncodingException - if the default HTTP charset is not supported.
  • Method Details

    • isRepeatable

      public boolean isRepeatable()
      Description copied from interface: HttpAsyncContentProducer
      Determines whether or not this producer is capable of producing its content more than once. Repeatable content producers are expected to be able to recreate their content even after having been closed.
      Specified by:
      isRepeatable in interface HttpAsyncContentProducer
      Specified by:
      isRepeatable in interface org.apache.http.HttpEntity
    • getContentLength

      public long getContentLength()
      Specified by:
      getContentLength in interface org.apache.http.HttpEntity
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Since:
      4.2
    • finish

      @Deprecated public void finish()
      Deprecated.
      (4.2) use close()
      Notification that any resources allocated for writing can be released.
      Specified by:
      finish in interface ProducingNHttpEntity
    • produceContent

      public void produceContent(ContentEncoder encoder, IOControl ioControl) throws IOException
      Description copied from interface: HttpAsyncContentProducer
      Invoked to write out a chunk of content to the ContentEncoder. The IOControl interface can be used to suspend output event notifications if the entity is temporarily unable to produce more content.

      When all content is finished, the producer MUST call ContentEncoder.complete(). Failure to do so may cause the entity to be incorrectly delimited.

      Please note that the ContentEncoder object is not thread-safe and should only be used within the context of this method call. The IOControl object can be shared and used on other thread to resume output event notifications when more content is made available.

      Specified by:
      produceContent in interface HttpAsyncContentProducer
      Specified by:
      produceContent in interface ProducingNHttpEntity
      Parameters:
      encoder - content encoder.
      ioControl - I/O control of the underlying connection.
      Throws:
      IOException
    • isStreaming

      public boolean isStreaming()
      Specified by:
      isStreaming in interface org.apache.http.HttpEntity
    • getContent

      public InputStream getContent()
      Specified by:
      getContent in interface org.apache.http.HttpEntity
    • writeTo

      public void writeTo(OutputStream outStream) throws IOException
      Specified by:
      writeTo in interface org.apache.http.HttpEntity
      Throws:
      IOException