Package org.apache.axiom.attachments.lifecycle

## Interface DataHandlerExt

-     public interface DataHandlerExt

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `deleteWhenReadOnce()` | Deprecated. Use `readOnce()` or `purgeDataSource()` instead.
    `void` | `purgeDataSource()` | This method will give users an option to trigger a purge on temporary attachment files.
    `InputStream` | `readOnce()` | Get an `InputStream` that consumes the content of this data handler.

- - ### Method Detail

    - #### readOnce

          InputStream readOnce()
                        throws IOException

      Get an `InputStream` that consumes the content of this data handler. This method is similar to `DataHandler.getInputStream()` except that it can be invoked only once. If the content has not been buffered yet, then the implementation may choose to enable streaming of the content.

      The implementation ensures that after the returned input steam is consumed, the data handler will be in the same state as after a call to `purgeDataSource()`.

      Returns:
        the stream representing the content; never `null`
      Throws:
        `IOException` - if an error occurs

    - #### purgeDataSource

          void purgeDataSource()
                        throws IOException

      This method will give users an option to trigger a purge on temporary attachment files. Temp files are created for attachment data that is greater than a threshold limit. On client side These temp attachment files are not deleted untilthe virtual machine exits as user can choose to read this dataHandler. So if user is not going to use the data handlers provided on this temproray files they can choose to purge the file.
      Throws:
        `IOException`

    - #### deleteWhenReadOnce

          void deleteWhenReadOnce()
                           throws IOException

      Deprecated.
      Use `readOnce()` or `purgeDataSource()` instead.
      Throws:
        `IOException`