## クラスの使用
com.nifty.cloud.ncs.NiftyCloudClientException

- NiftyCloudClientExceptionを使用しているパッケージ
  パッケージ | 説明
  --- | ---
  com.nifty.cloud.ncs |
  com.nifty.cloud.ncs.encrypt |
  com.nifty.cloud.ncs.service |
  com.nifty.cloud.ncs.service.parser |
  com.nifty.cloud.ncs.services.validator |
  com.nifty.cloud.ncs.transfer |

- - ### com.nifty.cloud.ncsでのNiftyCloudClientExceptionの使用

    com.nifty.cloud.ncsでのNiftyCloudClientExceptionのサブクラス
    修飾子とタイプ | クラスと説明
    --- | ---
    `class` | `NiftyCloudServiceException` ニフクラサービス内で発生する例外クラスです。

  - ### com.nifty.cloud.ncs.encryptでのNiftyCloudClientExceptionの使用

    NiftyCloudClientExceptionをスローするcom.nifty.cloud.ncs.encryptのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `javax.crypto.SecretKey` | PrivateKeyGenerator.`generatePrivateKey()` 暗号化に使用する秘密鍵を生成します。

  - ### com.nifty.cloud.ncs.serviceでのNiftyCloudClientExceptionの使用

    com.nifty.cloud.ncs.serviceでのNiftyCloudClientExceptionのサブクラス
    修飾子とタイプ | クラスと説明
    --- | ---
    `class` | `StorageException` NiftyCloudServiceExceptionの拡張例外クラスです。

    NiftyCloudClientExceptionをスローするcom.nifty.cloud.ncs.serviceのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | StorageClient.`abortMultipartUpload(java.lang.String bucketName, java.lang.String objectName, java.lang.String uploadId)` マルチパートアップロードをキャンセルします。
    `CompleteMultipartUploadResult` | StorageClient.`completeMultipartUpload(java.lang.String bucketName, java.lang.String objectName, java.lang.String uploadId, java.util.List<PartETag> partETags)` マルチパートアップロードを完了します。
    `java.lang.String` | StorageClient.`copyObject(NcsObject srcObject, NcsObject destObject)` オブジェクトをコピーします。
    `java.lang.String` | StorageClient.`copyObject(NcsObject srcObject, NcsObject destObject, Policy policy)` オブジェクトをコピーします。
    `java.lang.String` | StorageClient.`copyObject(java.lang.String srcBucketName, java.lang.String srcObjectName, java.lang.String destBucketName, java.lang.String destObjectName)` オブジェクトをコピーします。
    `java.lang.String` | StorageClient.`copyObject(java.lang.String srcBucketName, java.lang.String srcObjectName, java.lang.String destBucketName, java.lang.String destObjectName, Policy policy)` オブジェクトをコピーします。
    `void` | StorageClient.`deleteBucket(java.lang.String bucketName)` 指定したバケットを削除します。
    `void` | StorageEncryptionClient.`deleteObject(java.lang.String bucketName, java.lang.String objectName)`
    `void` | StorageClient.`deleteObject(java.lang.String bucketName, java.lang.String objectName)` 指定したオブジェクトを削除します。
    `void` | StorageClient.`getObject(NcsObject object, java.lang.String fileName)` NcsObjectにより指定したオブジェクトを取得し、ファイルに保存します。
    `NcsObject` | StorageEncryptionClient.`getObject(java.lang.String bucketName, java.lang.String objectName, long[] range)`
    `NcsObject` | StorageClient.`getObject(java.lang.String bucketName, java.lang.String objectName, long[] range)` 指定したオブジェクトをメモリ上に取得します。
    `void` | StorageEncryptionClient.`getObject(java.lang.String bucketName, java.lang.String objectName, long[] range, java.lang.String fileName)`
    `void` | StorageClient.`getObject(java.lang.String bucketName, java.lang.String objectName, long[] range, java.lang.String fileName)` 指定したオブジェクトを取得し、ファイルに保存します。
    `void` | StorageClient.`getObjectPart(java.lang.String bucketName, java.lang.String objectName, long contentLength, long[] range, java.lang.String fileName)`
    `java.util.List<NcsBucket>` | StorageClient.`getService()` バケット一覧を取得します。
    `java.util.Map<java.lang.String,java.lang.Object>` | StorageClient.`headObject(java.lang.String bucketName, java.lang.String objectName)` 指定したオブジェクトのメタデータを返却します。
    `java.lang.String` | StorageClient.`initiateMultipartUpload(NcsObject object, Policy policy)` NcsObject、ACLを指定して、マルチパートアップロードの準備をします。
    `java.lang.String` | StorageClient.`initiateMultipartUpload(java.lang.String bucketName, java.lang.String objectName)` バケット名、オブジェクト名を指定して、マルチパートアップロードの準備をします。
    `java.lang.String` | StorageClient.`initiateMultipartUpload(java.lang.String bucketName, java.lang.String objectName, Policy policy)` バケット名、オブジェクト名、ACLを指定して、マルチパートアップロードの準備をします。
    `ObjectListing` | StorageClient.`listObjects(java.lang.String bucketName, java.lang.String prefix, java.lang.String marker, java.lang.Integer maxKeys)` 指定バケット内のオブジェクト一覧を取得します。
    `ObjectListing` | StorageClient.`listObjects(java.lang.String bucketName, java.lang.String delimiter, java.lang.String prefix, java.lang.String marker, java.lang.Integer maxKeys)` 指定バケット内のオブジェクト一覧を取得します。
    `NcsBucket` | StorageClient.`putBucket(NcsBucket bucket)` 指定したバケットを作成します。
    `NcsBucket` | StorageClient.`putBucket(NcsBucket bucket, Policy policy)` バケット情報とACLを指定してバケットを作成します。
    `NcsBucket` | StorageClient.`putBucket(java.lang.String bucketName)` 指定した名前のバケットを作成します。
    `NcsBucket` | StorageClient.`putBucket(java.lang.String bucketName, Policy policy)` バケット名とACLを指定してバケットを作成します。
    `java.lang.String` | StorageEncryptionClient.`putObject(NcsObject object, java.io.File file, Policy policy)` NcsObjectおよびファイルを指定してオブジェクトを作成します。
    `java.lang.String` | StorageClient.`putObject(NcsObject object, java.io.File file, Policy policy)` NcsObjectおよびファイルを指定してオブジェクトを作成します。
    `java.lang.String` | StorageEncryptionClient.`putObject(NcsObject object, java.io.InputStream input, java.lang.String contentType, Policy policy)` NOTE: `CryptoStorageMode`を`InstructionFile`に設定している場合、「オブジェクト名.instruction」 という名前のオブジェクトが別途作成されます。
    `java.lang.String` | StorageClient.`putObject(NcsObject object, java.io.InputStream input, java.lang.String contentSHA256, java.lang.String contentType, Policy policy)` NcsObjectおよび入力ストリームを指定してオブジェクトを作成します。
    `java.lang.String` | StorageClient.`putObject(NcsObject object, Policy policy)` NcsObjectを指定してディレクトリを作成します。
    `java.lang.String` | StorageClient.`putObject(java.lang.String bucketName, java.lang.String objectName, java.io.File file, Policy policy)` ファイルを指定してオブジェクトを作成します。
    `java.lang.String` | StorageClient.`putObject(java.lang.String bucketName, java.lang.String objectName, java.io.InputStream input, java.lang.String contentSHA256, long contentLength, java.lang.String contentType, Policy policy)` 入力ストリームを指定してオブジェクトを作成します。
    `java.lang.String` | StorageClient.`putObject(java.lang.String bucketName, java.lang.String objectName, Policy policy)` バケット名、オブジェクト名を指定してディレクトリを作成します。
    `java.lang.String` | StorageClient.`putObject(java.lang.String bucketName, java.lang.String objectName, java.lang.String fileName, Policy policy)` ファイル名を指定してオブジェクトを作成します。
    `PartETag` | StorageClient.`uploadPart(UploadPartRequest uploadPartRequest)` マルチパートアップロードのパートをアップロードします。

  - ### com.nifty.cloud.ncs.service.parserでのNiftyCloudClientExceptionの使用

    NiftyCloudClientExceptionをスローするcom.nifty.cloud.ncs.service.parserのコンストラクタ
    コンストラクタと説明
    `AbstractStorageResponseParser()`
    `CompleteMultipartUploadParser()`
    `InitiateMultipartUploadParser()`

  - ### com.nifty.cloud.ncs.services.validatorでのNiftyCloudClientExceptionの使用

    NiftyCloudClientExceptionをスローするcom.nifty.cloud.ncs.services.validatorのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static java.util.List<ValidationMessage>` | BucketNameValidator.`validate(java.lang.String value)` bucket名の妥当性確認を行います。

  - ### com.nifty.cloud.ncs.transferでのNiftyCloudClientExceptionの使用

    NiftyCloudClientExceptionを返すcom.nifty.cloud.ncs.transferのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `NiftyCloudClientException` | AbstractTransferMonitor.`waitForException()` 処理が完了するか、エラーが発生するまで待機します。

    NiftyCloudClientExceptionをスローするcom.nifty.cloud.ncs.transferのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `UploadPartRequest` | UploadPartRequestFactory.`getNextUploadPartRequest()` 次のパートのリクエストを取得します。
    `void` | UploadPartRequestFactory.`setParallel(boolean isParallel)` パートが並列でアップロードされるかどうかを設定します。
    `UploadMonitor` | TransferManager.`upload(NcsObject object, java.io.File file, Policy policy)` 指定したファイルをアップロードします。
    `UploadMonitor` | TransferManager.`upload(NcsObject object, java.io.InputStream input, long contentLength, java.lang.String contentType, Policy policy)` 指定したストリームデータをアップロードします。
    `UploadMonitor` | TransferManager.`upload(java.lang.String bucketName, java.lang.String objectName, java.io.File file, Policy policy)` 指定したファイルをアップロードします。
    `UploadMonitor` | TransferManager.`upload(java.lang.String bucketName, java.lang.String objectName, java.io.InputStream input, long contentLength, java.lang.String contentType, Policy policy)` 指定したストリームデータをアップロードします。
    `void` | AbstractTransferMonitor.`waitForCompletion()` 処理が完了するまで待機します。
    `T` | AbstractTransferMonitor.`waitForResult()` 転送が完了するまで待機します。
    `java.lang.String` | UploadMonitor.`waitForUploadResult()` アップロードが完了するまで待機します。

    NiftyCloudClientExceptionをスローするcom.nifty.cloud.ncs.transferのコンストラクタ
    コンストラクタと説明
    `UploadCallable(StorageClient client, TransferManagerConfiguration configuration, java.util.concurrent.ExecutorService threadPool, NcsObject object, java.io.File file)` ファイルを指定してUploadCallableを構築します。
    `UploadPartRequestFactory(java.lang.String bucketName, java.lang.String objectName, java.io.File file, java.lang.String uploadId, long partSize)` ファイルを指定してUploadPartRequestFactoryを構築します。