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

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

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

    NcsObjectを返すcom.nifty.cloud.ncs.encryptのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static NcsObject` | EncryptionUtils.`createInstructionRequestObject(java.lang.String bucketName, java.lang.String objectName, EncryptionInstruction instruction)` Instructionファイルの情報を含むNcsObjcetを生成します。
    `static NcsObject` | EncryptionUtils.`decryptObjectUsingInstruction(NcsObject object, EncryptionInstruction instruction)` Instructionファイルを使用してオブジェクトデータを復号化します。
    `static NcsObject` | EncryptionUtils.`getRangeAdjustedObject(NcsObject object, long[] range)` 暗号化のためにオブジェクトデータのrangeを調整したNcsObjectを返却します。

    NcsObject型のパラメータを持つcom.nifty.cloud.ncs.encryptのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static EncryptionInstruction` | EncryptionUtils.`buildInstructionFromInstructionFile(NcsObject instructionFile, EncryptionKeyMaterials materials, java.security.Provider cryptoProvider)` InstructionFileからEncryptionInstructionオブジェクトを生成します。
    `static EncryptionInstruction` | EncryptionUtils.`buildInstructionFromMetadata(NcsObject object, EncryptionKeyMaterials materials, java.security.Provider cryptoProvider)` メタデータからInstructionオブジェクトを生成します。
    `static long` | EncryptionUtils.`calculateCryptoContentLength(javax.crypto.Cipher symmetricCipher, NcsObject object)` 暗号化後のデータサイズを算出します。
    `static NcsObject` | EncryptionUtils.`decryptObjectUsingInstruction(NcsObject object, EncryptionInstruction instruction)` Instructionファイルを使用してオブジェクトデータを復号化します。
    `static NcsObject` | EncryptionUtils.`getRangeAdjustedObject(NcsObject object, long[] range)` 暗号化のためにオブジェクトデータのrangeを調整したNcsObjectを返却します。
    `static boolean` | EncryptionUtils.`isEncryptionInfoInInstructionFile(NcsObject instructionFile)` 暗号化情報がInstructionファイルに含まれるかどうかの判定を行います。
    `static boolean` | EncryptionUtils.`isEncryptionInfoInMetadata(NcsObject object)` 暗号化情報がメタデータに含まれるかどうかの判定を行います。
    `static void` | EncryptionUtils.`updateMetadataWithEncryptionInstruction(NcsObject object, EncryptionInstruction instruction)` Instructionファイルの内容をメタデータに反映します。

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

    NcsObjectを返すcom.nifty.cloud.ncs.serviceのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `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)` 指定したオブジェクトをメモリ上に取得します。

    NcsObject型のパラメータを持つcom.nifty.cloud.ncs.serviceのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `java.lang.String` | StorageClient.`copyObject(NcsObject srcObject, NcsObject destObject)` オブジェクトをコピーします。
    `java.lang.String` | StorageClient.`copyObject(NcsObject srcObject, NcsObject destObject, Policy policy)` オブジェクトをコピーします。
    `void` | StorageEncryptionClient.`getObject(NcsObject object, java.lang.String fileName)`
    `void` | StorageClient.`getObject(NcsObject object, java.lang.String fileName)` NcsObjectにより指定したオブジェクトを取得し、ファイルに保存します。
    `java.lang.String` | StorageClient.`initiateMultipartUpload(NcsObject object, Policy policy)` NcsObject、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を指定してディレクトリを作成します。

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

    NcsObject型の引数を持つ型を返すcom.nifty.cloud.ncs.service.parserのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `NiftyCloudResponse<NcsObject>` | ObjectResponseParser.`parse(HttpResponse response)`

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

    NcsObject型のパラメータを持つcom.nifty.cloud.ncs.transferのメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `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)` 指定したストリームデータをアップロードします。

    NcsObject型のパラメータを持つcom.nifty.cloud.ncs.transferのコンストラクタ
    コンストラクタと説明
    `UploadCallable(StorageClient client, TransferManagerConfiguration configuration, java.util.concurrent.ExecutorService threadPool, NcsObject object, java.io.File file)` ファイルを指定してUploadCallableを構築します。
    `UploadCallable(StorageClient client, TransferManagerConfiguration configuration, java.util.concurrent.ExecutorService threadPool, NcsObject object, java.io.InputStream inputStream, long contentLength)` 入力ストリームを指定してUploadCallableを構築します。
    `UploadMonitor(StorageClient client, TransferManagerConfiguration configuration, java.util.concurrent.ExecutorService threadPool, NcsObject object, java.io.File file)` UploadMonitorを構築します。
    `UploadMonitor(StorageClient client, TransferManagerConfiguration configuration, java.util.concurrent.ExecutorService threadPool, NcsObject object, java.io.InputStream input, long contentLength)` UploadMonitorを構築します。