Package org.apache.axiom.attachments

# Class IncomingAttachmentInputStream

java.lang.Object
java.io.InputStream
org.apache.axiom.attachments.IncomingAttachmentInputStream

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class IncomingAttachmentInputStream extends InputStream

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `HEADER_CONTENT_DESCRIPTION`
  `static final String`
  `HEADER_CONTENT_ID`
  `static final String`
  `HEADER_CONTENT_LENGTH`
  `static final String`
  `HEADER_CONTENT_LOCATION`
  `static final String`
  `HEADER_CONTENT_TRANSFER_ENCODING`
  `static final String`
  `HEADER_CONTENT_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IncomingAttachmentInputStream(InputStream in, IncomingAttachmentStreams parentContainer)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addHeader(String name, String value)`
  Add a header.
  `String`
  `getContentId()`
  `String`
  `getContentLocation()`
  `String`
  `getContentType()`
  `String`
  `getHeader(String name)`
  Get a header value.
  `Map<String,String>`
  `getHeaders()`
  `void`
  `mark(int readLimit)`
  `boolean`
  `markSupported()`
  Don't want to support mark and reset since this may get us into concurrency problem when different pieces of software may have a handle to the underlying InputStream.
  `int`
  `read()`
  `int`
  `read(byte[] b)`
  `int`
  `read(byte[] b, int off, int len)`
  `void`
  `reset()`

  ### Methods inherited from class java.io.InputStream

  `available, close, nullInputStream, readAllBytes, readNBytes, readNBytes, skip, transferTo`

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

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

- ## Field Details

  - ### HEADER_CONTENT_DESCRIPTION

    public static final String HEADER_CONTENT_DESCRIPTION
    See Also:
      - Constant Field Values

  - ### HEADER_CONTENT_TYPE

    public static final String HEADER_CONTENT_TYPE
    See Also:
      - Constant Field Values

  - ### HEADER_CONTENT_TRANSFER_ENCODING

    public static final String HEADER_CONTENT_TRANSFER_ENCODING
    See Also:
      - Constant Field Values

  - ### HEADER_CONTENT_LENGTH

    public static final String HEADER_CONTENT_LENGTH
    See Also:
      - Constant Field Values

  - ### HEADER_CONTENT_LOCATION

    public static final String HEADER_CONTENT_LOCATION
    See Also:
      - Constant Field Values

  - ### HEADER_CONTENT_ID

    public static final String HEADER_CONTENT_ID
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### IncomingAttachmentInputStream

    public IncomingAttachmentInputStream(InputStream in, IncomingAttachmentStreams parentContainer)
    Parameters:
      `in` -

- ## Method Details

  - ### getHeaders

    public Map<String,String> getHeaders()
    Returns:
      MIME headers for this attachment. May be null if no headers were set.

  - ### addHeader

    public void addHeader(String name, String value)
    Add a header.
    Parameters:
      `name` -
      `value` -

  - ### getHeader

    public String getHeader(String name)
    Get a header value.
    Parameters:
      `name` -
    Returns:
      The header found or null if not found.

  - ### getContentId

    public String getContentId()
    Returns:
      The header with HTTPConstants.HEADER_CONTENT_ID as the key.

  - ### getContentLocation

    public String getContentLocation()
    Returns:
      The header with HTTPConstants.HEADER_CONTENT_LOCATION as the key.

  - ### getContentType

    public String getContentType()
    Returns:
      The header with HTTPConstants.HEADER_CONTENT_TYPE as the key.

  - ### markSupported

    public boolean markSupported()
    Don't want to support mark and reset since this may get us into concurrency problem when different pieces of software may have a handle to the underlying InputStream.
    Overrides:
      `markSupported` in class `InputStream`

  - ### reset

    public void reset() throws IOException
    Overrides:
      `reset` in class `InputStream`
    Throws:
      `IOException`

  - ### mark

    public void mark(int readLimit)
    Overrides:
      `mark` in class `InputStream`

  - ### read

    public int read() throws IOException
    Specified by:
      `read` in class `InputStream`
    Throws:
      `IOException`

  - ### read

    public int read(byte[] b) throws IOException
    Overrides:
      `read` in class `InputStream`
    Throws:
      `IOException`

  - ### read

    public int read(byte[] b, int off, int len) throws IOException
    Overrides:
      `read` in class `InputStream`
    Throws:
      `IOException`