Class InputStreamContentProvider

java.lang.Object
org.eclipse.jetty.client.util.InputStreamContentProvider
All Implemented Interfaces:
Closeable, AutoCloseable, Iterable<ByteBuffer>, ContentProvider, org.eclipse.jetty.util.Callback, org.eclipse.jetty.util.thread.Invocable

@Deprecated public class InputStreamContentProvider extends Object implements ContentProvider, org.eclipse.jetty.util.Callback, Closeable
Deprecated.
A ContentProvider for an InputStream.

The input stream is read once and therefore fully consumed. Invocations to the iterator() method after the first will return an "empty" iterator because the stream has been consumed on the first invocation.

However, it is possible for subclasses to override onRead(byte[], int, int) to copy the content read from the stream to another location (for example a file), and be able to support multiple invocations of iterator(), returning the iterator provided by this class on the first invocation, and an iterator on the bytes copied to the other location for subsequent invocations.

It is possible to specify, at the constructor, a buffer size used to read content from the stream, by default 4096 bytes.

The InputStream passed to the constructor is by default closed when is it fully consumed (or when an exception is thrown while reading it), unless otherwise specified to the constructor.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback

    org.eclipse.jetty.util.Callback.Completable, org.eclipse.jetty.util.Callback.Completing, org.eclipse.jetty.util.Callback.Nested

    Nested classes/interfaces inherited from interface org.eclipse.jetty.client.api.ContentProvider

    ContentProvider.Typed

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable

    org.eclipse.jetty.util.thread.Invocable.InvocationType, org.eclipse.jetty.util.thread.Invocable.ReadyTask, org.eclipse.jetty.util.thread.Invocable.Task
  • Field Summary

    Fields inherited from interface org.eclipse.jetty.util.Callback

    NOOP

    Fields inherited from interface org.eclipse.jetty.util.thread.Invocable

    __nonBlocking
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated.
     
    InputStreamContentProvider(InputStream stream, int bufferSize)
    Deprecated.
     
    InputStreamContentProvider(InputStream stream, int bufferSize, boolean autoClose)
    Deprecated.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Deprecated.
     
    void
    failed(Throwable failure)
    Deprecated.
     
    long
    Deprecated.
     
    Deprecated.
     
    protected ByteBuffer
    onRead(byte[] buffer, int offset, int length)
    Deprecated.
    Callback method invoked just after having read from the stream, but before returning the iteration element (a ByteBuffer to the caller.
    protected void
    Deprecated.
    Callback method invoked when an exception is thrown while reading from the stream.

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.eclipse.jetty.util.Callback

    completeWith, succeeded

    Methods inherited from interface org.eclipse.jetty.client.api.ContentProvider

    isReproducible

    Methods inherited from interface org.eclipse.jetty.util.thread.Invocable

    getInvocationType

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • InputStreamContentProvider

      public InputStreamContentProvider(InputStream stream)
      Deprecated.
    • InputStreamContentProvider

      public InputStreamContentProvider(InputStream stream, int bufferSize)
      Deprecated.
    • InputStreamContentProvider

      public InputStreamContentProvider(InputStream stream, int bufferSize, boolean autoClose)
      Deprecated.
  • Method Details

    • getLength

      public long getLength()
      Deprecated.
      Specified by:
      getLength in interface ContentProvider
      Returns:
      the content length, if known, or -1 if the content length is unknown
    • onRead

      protected ByteBuffer onRead(byte[] buffer, int offset, int length)
      Deprecated.
      Callback method invoked just after having read from the stream, but before returning the iteration element (a ByteBuffer to the caller.

      Subclasses may override this method to copy the content read from the stream to another location (a file, or in memory if the content is known to fit).

      Parameters:
      buffer - the byte array containing the bytes read
      offset - the offset from where bytes should be read
      length - the length of the bytes read
      Returns:
      a ByteBuffer wrapping the byte array
    • onReadFailure

      protected void onReadFailure(Throwable failure)
      Deprecated.
      Callback method invoked when an exception is thrown while reading from the stream.
      Parameters:
      failure - the exception thrown while reading from the stream.
    • iterator

      public Iterator<ByteBuffer> iterator()
      Deprecated.
      Specified by:
      iterator in interface Iterable<ByteBuffer>
    • close

      public void close()
      Deprecated.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • failed

      public void failed(Throwable failure)
      Deprecated.
      Specified by:
      failed in interface org.eclipse.jetty.util.Callback