com.nifty.cloud.ncs.transfer

## クラス TransferManager

- java.lang.Object
- - com.nifty.cloud.ncs.transfer.TransferManager

-     public class TransferManager
      extends java.lang.Object

  ファイルアップロードを管理するクラスです。

  使用例:

       StorageClient client = new StorageClient(new Credentials(accessKey, secretKey));
       TransferManager tm = new TransferManager(client);
       UploadMonitor monitor = tm.upload(bucketName, objectName, file, policy);

       // 処理が終了するまで待機します
       while (monitor.isDone() == false) {
              System.out.println("Transfer:" + monitor.getDescription());
              System.out.println("  - Status: " + monitor.getState());
              Thread.sleep(500);
       }

       // 使わなくなったら必ず終了してください
       tm.shutdownNow();

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `TransferManager(StorageClient client)` ストレージクライアントを指定してTransferManagerを構築します。
    `TransferManager(StorageClient client, int maxThreads)` ストレージクライアントと最大スレッド数を指定してTransferManagerを構築します。
    `TransferManager(StorageClient client, java.util.concurrent.ThreadPoolExecutor threadPool)` ストレージクライアントとスレッドプールを指定してTransferManagerを構築します。
    `TransferManager(StorageClient client, TransferManagerConfiguration configuration, int maxThreads)` ストレージクライアント、Manager設定、最大スレッド数を指定してTransferManagerを構築します。
    `TransferManager(StorageClient client, TransferManagerConfiguration configuration, java.util.concurrent.ThreadPoolExecutor threadPool)` ストレージクライアント、Manager設定、スレッドプールを指定してTransferManagerを構築します。

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `TransferManagerConfiguration` | `getConfiguration()` Manager設定を取得します。
    `StorageClient` | `getStorageClient()` ストレージクライアントを取得します。
    `void` | `shutdownNow()` スレッドプール、アップロードモニター、ストレージクライアントを終了します。
    `UploadMonitor` | `upload(NcsObject object, java.io.File file, Policy policy)` 指定したファイルをアップロードします。
    `UploadMonitor` | `upload(NcsObject object, java.io.InputStream input, long contentLength, java.lang.String contentType, Policy policy)` 指定したストリームデータをアップロードします。
    `UploadMonitor` | `upload(java.lang.String bucketName, java.lang.String objectName, java.io.File file, Policy policy)` 指定したファイルをアップロードします。
    `UploadMonitor` | `upload(java.lang.String bucketName, java.lang.String objectName, java.io.InputStream input, long contentLength, java.lang.String contentType, Policy policy)` 指定したストリームデータをアップロードします。

    - ### クラスから継承されたメソッド java.lang.Object

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

- - ### コンストラクタの詳細

    - #### TransferManager

          public TransferManager(StorageClient client)

      ストレージクライアントを指定してTransferManagerを構築します。
      パラメータ:
        `client` - ストレージクライアント

    - #### TransferManager

          public TransferManager(StorageClient client,
                                 int maxThreads)

      ストレージクライアントと最大スレッド数を指定してTransferManagerを構築します。
      パラメータ:
        `client` - ストレージクライアント
        `maxThreads` - 最大スレッド数

    - #### TransferManager

          public TransferManager(StorageClient client,
                                 java.util.concurrent.ThreadPoolExecutor threadPool)

      ストレージクライアントとスレッドプールを指定してTransferManagerを構築します。
      パラメータ:
        `client` - クライアント
        `threadPool` - スレッドプール

    - #### TransferManager

          public TransferManager(StorageClient client,
                                 TransferManagerConfiguration configuration,
                                 java.util.concurrent.ThreadPoolExecutor threadPool)

      ストレージクライアント、Manager設定、スレッドプールを指定してTransferManagerを構築します。
      パラメータ:
        `client` - ストレージクライアント
        `configuration` - Manager設定
        `threadPool` - スレッドプール

    - #### TransferManager

          public TransferManager(StorageClient client,
                                 TransferManagerConfiguration configuration,
                                 int maxThreads)

      ストレージクライアント、Manager設定、最大スレッド数を指定してTransferManagerを構築します。
      パラメータ:
        `client` - ストレージクライアント
        `configuration` - Manager設定
        `maxThreads` - 最大スレッド数

  - ### メソッドの詳細

    - #### getConfiguration

          public TransferManagerConfiguration getConfiguration()

      Manager設定を取得します。
      戻り値:
        Manager設定

    - #### getStorageClient

          public StorageClient getStorageClient()

      ストレージクライアントを取得します。
      戻り値:
        ストレージクライアント

    - #### upload

          public UploadMonitor upload(java.lang.String bucketName,
                                      java.lang.String objectName,
                                      java.io.InputStream input,
                                      long contentLength,
                                      java.lang.String contentType,
                                      Policy policy)
                               throws NiftyCloudServiceException,
                                      NiftyCloudClientException

      指定したストリームデータをアップロードします。
      パラメータ:
        `bucketName` - バケット名
        `objectName` - オブジェクト名
        `input` - オブジェクトのボディとなる入力ストリーム
        `contentLength` - データサイズ
        `contentType` - コンテンツタイプ
        `policy` - オブジェクトのACL(privateのみ指定可能)
      戻り値:
        アップロード状況を監視するモニター
      例外:
        `NiftyCloudServiceException`
        `NiftyCloudClientException`

    - #### upload

          public UploadMonitor upload(java.lang.String bucketName,
                                      java.lang.String objectName,
                                      java.io.File file,
                                      Policy policy)
                               throws NiftyCloudServiceException,
                                      NiftyCloudClientException

      指定したファイルをアップロードします。
      パラメータ:
        `bucketName` - バケット名
        `objectName` - オブジェクト名
        `file` - ファイル
        `policy` - オブジェクトのACL(privateのみ指定可能)
      戻り値:
        アップロード状況を監視するモニター
      例外:
        `NiftyCloudServiceException`
        `NiftyCloudClientException`

    - #### upload

          public UploadMonitor upload(NcsObject object,
                                      java.io.File file,
                                      Policy policy)
                               throws NiftyCloudServiceException,
                                      NiftyCloudClientException

      指定したファイルをアップロードします。
      パラメータ:
        `object` - アップロードするオブジェクト情報を含むNcsObject
        `file` - ファイル
        `policy` - オブジェクトのACL(privateのみ指定可能)
      戻り値:
        アップロード状況を監視するモニター
      例外:
        `NiftyCloudServiceException`
        `NiftyCloudClientException`

    - #### upload

          public UploadMonitor upload(NcsObject object,
                                      java.io.InputStream input,
                                      long contentLength,
                                      java.lang.String contentType,
                                      Policy policy)
                               throws NiftyCloudServiceException,
                                      NiftyCloudClientException

      指定したストリームデータをアップロードします。
      パラメータ:
        `object` - アップロードするオブジェクト情報を含むNcsObject
        `input` - オブジェクトのボディとなる入力ストリーム
        `contentLength` - データサイズ
        `contentType` - コンテンツタイプ
        `policy` - オブジェクトのACL(privateのみ指定可能)
      戻り値:
        アップロード状況を監視するモニター
      例外:
        `NiftyCloudServiceException`
        `NiftyCloudClientException`

    - #### shutdownNow

          public void shutdownNow()

      スレッドプール、アップロードモニター、ストレージクライアントを終了します。