org.eclipse.aether.spi.connector.transport

## Class PutTask

- java.lang.Object
- - org.eclipse.aether.spi.connector.transport.TransportTask
  - - org.eclipse.aether.spi.connector.transport.PutTask

-     public final class PutTask
      extends TransportTask

  A task to upload a resource to the remote repository.
  See Also:
    `Transporter.put(PutTask)`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PutTask(URI location)` Creates a new task for the specified remote resource.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `File` | `getDataFile()` Gets the file (if any) with the data to be uploaded.
    `long` | `getDataLength()` Gets the total number of bytes to be uploaded.
    `InputStream` | `newInputStream()` Opens an input stream for the data to be uploaded.
    `PutTask` | `setDataBytes(byte[] bytes)` Sets the binary data to be uploaded.
    `PutTask` | `setDataFile(File dataFile)` Sets the file with the data to be uploaded.
    `PutTask` | `setDataString(String str)` Sets the textual data to be uploaded.
    `PutTask` | `setListener(TransportListener listener)` Sets the listener that is to be notified during the transfer.
    `String` | `toString()`

    - ### Methods inherited from class org.eclipse.aether.spi.connector.transport.TransportTask

      `getListener, getLocation`

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

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

- - ### Constructor Detail

    - #### PutTask

          public PutTask(URI location)

      Creates a new task for the specified remote resource.
      Parameters:
        `location` - The relative location of the resource in the remote repository, must not be `null`.

  - ### Method Detail

    - #### newInputStream

          public InputStream newInputStream()
                                     throws IOException

      Opens an input stream for the data to be uploaded. The length of the stream can be queried via `getDataLength()`. It's the responsibility of the caller to close the provided stream.
      Returns:
        The input stream for the data, never `null`. The stream is unbuffered.
      Throws:
        `IOException` - If the stream could not be opened.

    - #### getDataLength

          public long getDataLength()

      Gets the total number of bytes to be uploaded.
      Returns:
        The total number of bytes to be uploaded.

    - #### getDataFile

          public File getDataFile()

      Gets the file (if any) with the data to be uploaded.
      Returns:
        The data file or `null` if the data resides in memory.

    - #### setDataFile

          public PutTask setDataFile(File dataFile)

      Sets the file with the data to be uploaded. To upload some data residing already in memory, use `setDataString(String)` or `setDataBytes(byte[])`.
      Parameters:
        `dataFile` - The data file, may be `null` if the resource data is provided directly from memory.
      Returns:
        This task for chaining, never `null`.

    - #### setDataBytes

          public PutTask setDataBytes(byte[] bytes)

      Sets the binary data to be uploaded.
      Parameters:
        `bytes` - The binary data, may be `null`.
      Returns:
        This task for chaining, never `null`.

    - #### setDataString

          public PutTask setDataString(String str)

      Sets the textual data to be uploaded. The text is encoded using UTF-8 before transmission.
      Parameters:
        `str` - The textual data, may be `null`.
      Returns:
        This task for chaining, never `null`.

    - #### setListener

          public PutTask setListener(TransportListener listener)

      Sets the listener that is to be notified during the transfer.
      Parameters:
        `listener` - The listener to notify of progress, may be `null`.
      Returns:
        This task for chaining, never `null`.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2010-2014 The Eclipse Foundation. All Rights Reserved.