com.nifty.cloud.ncs.service

## クラス StorageEncryptionClient

- java.lang.Object
- - com.nifty.cloud.ncs.http.HttpClient
  - - com.nifty.cloud.ncs.NiftyCloudClient
    - - com.nifty.cloud.ncs.service.StorageClient
      - - com.nifty.cloud.ncs.service.StorageEncryptionClient

-     public class StorageEncryptionClient
      extends StorageClient

  データを暗号化して転送するためのニフクラストレージクライアントです。

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド com.nifty.cloud.ncs.http.HttpClient

      `DEFAULT_ENCODING`

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

    コンストラクタ
    コンストラクタと説明
    `StorageEncryptionClient(Credentials credentials, ClientProperties clientProperties, EncryptionKeyMaterials encryptionMaterials)` アクセスキー/シークレットキー、暗号鍵情報、クライアント設定を指定して新しいStorageEncryptionClientを構築します。
    `StorageEncryptionClient(Credentials credentials, ClientProperties clientProperties, EncryptionKeyMaterials encryptionMaterials, CryptoConfiguration cryptoConfig)` アクセスキー/シークレットキー、暗号鍵情報、クライアント設定、暗号化設定を指定して新しいStorageEncryptionClientを構築します。
    `StorageEncryptionClient(Credentials credentials, EncryptionKeyMaterials encryptionMaterials)` アクセスキー/シークレットキー、暗号鍵情報を指定して新しいStorageEncryptionClientを構築します。
    `StorageEncryptionClient(Credentials credentials, EncryptionKeyMaterials encryptionMaterials, CryptoConfiguration cryptoConfig)` アクセスキー/シークレットキー、暗号鍵情報、暗号化設定を指定して新しいStorageEncryptionClientを構築します。

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

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `deleteObject(java.lang.String bucketName, java.lang.String objectName)` 指定したオブジェクトを削除します。
    `void` | `getObject(NcsObject object, java.lang.String fileName)` NcsObjectにより指定したオブジェクトを取得し、ファイルに保存します。
    `NcsObject` | `getObject(java.lang.String bucketName, java.lang.String objectName, long[] range)` 指定したオブジェクトをメモリ上に取得します。
    `void` | `getObject(java.lang.String bucketName, java.lang.String objectName, long[] range, java.lang.String fileName)` 指定したオブジェクトを取得し、ファイルに保存します。
    `java.lang.String` | `putObject(NcsObject object, java.io.File file, Policy policy)` NcsObjectおよびファイルを指定してオブジェクトを作成します。
    `java.lang.String` | `putObject(NcsObject object, java.io.InputStream input, java.lang.String contentType, Policy policy)` NOTE: `CryptoStorageMode`を`InstructionFile`に設定している場合、「オブジェクト名.instruction」 という名前のオブジェクトが別途作成されます。

    - ### クラスから継承されたメソッド com.nifty.cloud.ncs.service.StorageClient

      `abortMultipartUpload, completeMultipartUpload, copyObject, copyObject, copyObject, copyObject, deleteBucket, getObjectPart, getService, headObject, initiateMultipartUpload, initiateMultipartUpload, initiateMultipartUpload, listObjects, listObjects, putBucket, putBucket, putBucket, putBucket, putObject, putObject, putObject, putObject, putObject, putObject, setEndpoint, uploadPart`

    - ### クラスから継承されたメソッド com.nifty.cloud.ncs.NiftyCloudClient

      `execute, getEndpoint, getQueryString, normalizePath, urlEncode`

    - ### クラスから継承されたメソッド com.nifty.cloud.ncs.http.HttpClient

      `shutdown`

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

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

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

    - #### StorageEncryptionClient

          public StorageEncryptionClient(Credentials credentials,
                                         EncryptionKeyMaterials encryptionMaterials)

      アクセスキー/シークレットキー、暗号鍵情報を指定して新しいStorageEncryptionClientを構築します。
      パラメータ:
        `credentials` - アクセスキー/シークレットキー
        `encryptionMaterials` - 暗号化に使用する鍵情報

    - #### StorageEncryptionClient

          public StorageEncryptionClient(Credentials credentials,
                                         ClientProperties clientProperties,
                                         EncryptionKeyMaterials encryptionMaterials)

      アクセスキー/シークレットキー、暗号鍵情報、クライアント設定を指定して新しいStorageEncryptionClientを構築します。
      パラメータ:
        `credentials` - アクセスキー/シークレットキー情報
        `clientProperties` - クライアント設定
        `encryptionMaterials` - 暗号化に使用する鍵情報

    - #### StorageEncryptionClient

          public StorageEncryptionClient(Credentials credentials,
                                         EncryptionKeyMaterials encryptionMaterials,
                                         CryptoConfiguration cryptoConfig)

      アクセスキー/シークレットキー、暗号鍵情報、暗号化設定を指定して新しいStorageEncryptionClientを構築します。
      パラメータ:
        `credentials` - アクセスキー/シークレットキー情報
        `encryptionMaterials` - 暗号化に使用する鍵情報
        `cryptoConfig` - 暗号化クライアント設定

    - #### StorageEncryptionClient

          public StorageEncryptionClient(Credentials credentials,
                                         ClientProperties clientProperties,
                                         EncryptionKeyMaterials encryptionMaterials,
                                         CryptoConfiguration cryptoConfig)

      アクセスキー/シークレットキー、暗号鍵情報、クライアント設定、暗号化設定を指定して新しいStorageEncryptionClientを構築します。
      パラメータ:
        `credentials` - アクセスキー/シークレットキー情報
        `clientProperties` - クライアント設定
        `encryptionMaterials` - 暗号化に使用する鍵情報
        `cryptoConfig` - 暗号化クライアント設定

  - ### メソッドの詳細

    - #### putObject

          public java.lang.String putObject(NcsObject object,
                                            java.io.File file,
                                            Policy policy)
                                     throws NiftyCloudClientException,
                                            NiftyCloudServiceException

      NcsObjectおよびファイルを指定してオブジェクトを作成します。

      NOTE: `CryptoStorageMode`を`InstructionFile`に設定している場合、「オブジェクト名.instruction」 という名前のオブジェクトが別途作成されます。

      オーバーライド:
        `putObject` クラス内 `StorageClient`
      パラメータ:
        `object` - 作成するオブジェクト情報を含むNcsObject
        `file` - アップロードするファイル
        `policy` - 設定するACL(privateのみ指定可能)
      戻り値:
        作成したオブジェクトのMD5ハッシュ値
      例外:
        `NiftyCloudClientException`
        `NiftyCloudServiceException`

    - #### putObject

          public java.lang.String putObject(NcsObject object,
                                            java.io.InputStream input,
                                            java.lang.String contentType,
                                            Policy policy)
                                     throws NiftyCloudClientException,
                                            NiftyCloudServiceException

      NOTE: `CryptoStorageMode`を`InstructionFile`に設定している場合、「オブジェクト名.instruction」 という名前のオブジェクトが別途作成されます。

      例外:
        `NiftyCloudClientException`
        `NiftyCloudServiceException`

    - #### getObject

          public NcsObject getObject(java.lang.String bucketName,
                                     java.lang.String objectName,
                                     long[] range)
                              throws NiftyCloudClientException,
                                     NiftyCloudServiceException

      クラスからコピーされた説明: `StorageClient`
      指定したオブジェクトをメモリ上に取得します。
      オーバーライド:
        `getObject` クラス内 `StorageClient`
      パラメータ:
        `bucketName` - 取得対象オブジェクトを格納するバケット名
        `objectName` - 取得対象オブジェクト名
        `range` - Rangeヘッダに設定する値
      戻り値:
        取得したNcsObject
      例外:
        `NiftyCloudClientException`
        `NiftyCloudServiceException`

    - #### getObject

          public void getObject(java.lang.String bucketName,
                                java.lang.String objectName,
                                long[] range,
                                java.lang.String fileName)
                         throws NiftyCloudClientException,
                                NiftyCloudServiceException

      クラスからコピーされた説明: `StorageClient`
      指定したオブジェクトを取得し、ファイルに保存します。
      オーバーライド:
        `getObject` クラス内 `StorageClient`
      パラメータ:
        `bucketName` - 取得対象オブジェクトを格納するバケット名
        `objectName` - 取得対象オブジェクト名
        `range` - Rangeヘッダに設定される値
        `fileName` - 保存対象ファイル名
      例外:
        `NiftyCloudClientException`
        `NiftyCloudServiceException`

    - #### getObject

          public void getObject(NcsObject object,
                                java.lang.String fileName)

      クラスからコピーされた説明: `StorageClient`
      NcsObjectにより指定したオブジェクトを取得し、ファイルに保存します。
      オーバーライド:
        `getObject` クラス内 `StorageClient`
      パラメータ:
        `object` - 取得するオブジェクト情報を含むNcsObject
        `fileName` - 保存対象ファイル名

    - #### deleteObject

          public void deleteObject(java.lang.String bucketName,
                                   java.lang.String objectName)
                            throws NiftyCloudClientException,
                                   NiftyCloudServiceException

      クラスからコピーされた説明: `StorageClient`
      指定したオブジェクトを削除します。
      オーバーライド:
        `deleteObject` クラス内 `StorageClient`
      パラメータ:
        `bucketName` - 削除対象オブジェクトが格納されているバケット名
        `objectName` - 削除対象オブジェクト名
      例外:
        `NiftyCloudClientException`
        `NiftyCloudServiceException`