org.apache.hc.core5.http.io.entity

## Class AbstractHttpEntity

- java.lang.Object
- - org.apache.hc.core5.http.io.entity.AbstractHttpEntity

- All Implemented Interfaces:
    Closeable, AutoCloseable, EntityDetails, HttpEntity
  Direct Known Subclasses:
    BasicHttpEntity, ByteArrayEntity, ByteBufferEntity, EntityTemplate, FileEntity, InputStreamEntity, PathEntity, SerializableEntity, StringEntity

      public abstract class AbstractHttpEntity
      extends Object
      implements HttpEntity

  Abstract base class for mutable entities. Provides the commonly used attributes for streamed and self-contained implementations.
  Since:
    4.0

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractHttpEntity(ContentType contentType, String contentEncoding)`
    `protected` | `AbstractHttpEntity(ContentType contentType, String contentEncoding, boolean chunked)`
    `protected` | `AbstractHttpEntity(String contentType, String contentEncoding)`
    `protected` | `AbstractHttpEntity(String contentType, String contentEncoding, boolean chunked)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getContentEncoding()` Returns content encoding of the entity, if known.
    `String` | `getContentType()` Returns content type of the entity, if known.
    `Set<String>` | `getTrailerNames()` Preliminary declaration of trailing headers.
    `Supplier<List<? extends Header>>` | `getTrailers()` Returns supplier of message trailers - headers sent after message body.
    `boolean` | `isChunked()` Returns chunked transfer hint for this entity.
    `boolean` | `isRepeatable()` Tells if the entity is capable of producing its data more than once.
    `String` | `toString()`
    `static void` | `writeTo(HttpEntity entity, OutputStream outStream)`
    `void` | `writeTo(OutputStream outStream)` Writes the entity content out to the output stream.

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface org.apache.hc.core5.http.HttpEntity

      `getContent, isStreaming`

    - ### Methods inherited from interface org.apache.hc.core5.http.EntityDetails

      `getContentLength`

    - ### Methods inherited from interface java.io.Closeable

      `close`

- - ### Constructor Detail

    - #### AbstractHttpEntity

          protected AbstractHttpEntity(String contentType,
                            String contentEncoding,
                            boolean chunked)

    - #### AbstractHttpEntity

          protected AbstractHttpEntity(ContentType contentType,
                            String contentEncoding,
                            boolean chunked)

    - #### AbstractHttpEntity

          protected AbstractHttpEntity(String contentType,
                            String contentEncoding)

    - #### AbstractHttpEntity

          protected AbstractHttpEntity(ContentType contentType,
                            String contentEncoding)

  - ### Method Detail

    - #### writeTo

          public static void writeTo(HttpEntity entity,
                     OutputStream outStream)
                              throws IOException

      Throws:
        `IOException`

    - #### 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

    - #### getContentType

          public final String getContentType()

      Description copied from interface: `EntityDetails`
      Returns content type of the entity, if known.
      Specified by:
        `getContentType` in interface `EntityDetails`

    - #### getContentEncoding

          public final String getContentEncoding()

      Description copied from interface: `EntityDetails`
      Returns content encoding of the entity, if known.
      Specified by:
        `getContentEncoding` in interface `EntityDetails`

    - #### isChunked

          public final boolean isChunked()

      Description copied from interface: `EntityDetails`
      Returns chunked transfer hint for this entity.

      The behavior of wrapping entities is implementation dependent, but should respect the primary purpose.

      Specified by:
        `isChunked` in interface `EntityDetails`

    - #### 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.

    - #### getTrailers

          public Supplier<List<? extends Header>> getTrailers()

      Description copied from interface: `HttpEntity`
      Returns supplier of message trailers - headers sent after message body. May return `null` if trailers are not available.
      Specified by:
        `getTrailers` in interface `HttpEntity`

    - #### getTrailerNames

          public Set<String> getTrailerNames()

      Description copied from interface: `EntityDetails`
      Preliminary declaration of trailing headers.
      Specified by:
        `getTrailerNames` in interface `EntityDetails`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

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