Package org.apache.axiom.ext.io

## Interface ReadFromSupport

- All Known Implementing Classes:
    `MemoryBlobOutputStream`

      public interface ReadFromSupport

  Optional interface implemented by `OutputStream` implementations that support transferring data from an `InputStream`. This interface may be used to avoid allocating a temporary buffer when there is a need to copy data from an input stream to an output stream.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | `readFrom​(InputStream inputStream, long length)` | Read data from the given input stream and write it to this output stream.

- - ### Method Detail

    - #### readFrom

          long readFrom​(InputStream inputStream,
                        long length)
                 throws StreamCopyException

      Read data from the given input stream and write it to this output stream. The method transfers data until one of the following conditions is met:
      - The end of the input stream is reached.
      - The value of the `length` argument is different from `-1` and the number of bytes transferred is equal to `length`.
      Parameters:
        `inputStream` - An input stream to read data from. This method will not close the stream.
        `length` - the number of bytes to transfer, or `-1` if the method should transfer data until the end of the input stream is reached
      Returns:
        the number of bytes transferred
      Throws:
        `StreamCopyException`