Interface DataRecordAccessProvider

    • Method Detail

      • initiateDataRecordUpload

        @Nullable
        @Nullable DataRecordUpload initiateDataRecordUpload​(long maxUploadSizeInBytes,
                                                            int maxNumberOfURIs)
                                                     throws java.lang.IllegalArgumentException,
                                                            DataRecordUploadException
        Begin a transaction to perform a direct binary upload to the storage location.
        Parameters:
        maxUploadSizeInBytes - - the largest size of the binary to be uploaded, in bytes, based on the caller's best guess. If the actual size of the file to be uploaded is known, that value should be used.
        maxNumberOfURIs - - the maximum number of URIs the client is able to accept. If the caller does not support multi-part uploading, this value should be 1. Note that the implementing class is not required to support multi-part uploading so it may return only a single upload URI regardless of the value passed in for this parameter. A caller may also pass in -1 to indicate that it is able to accept any number of URIs. Any other negative number or 0 may result in IllegalArgumentException.
        Returns:
        A DataRecordUpload referencing this direct upload, or null if the implementation does not support direct upload.
        Throws:
        java.lang.IllegalArgumentException - if the service provider or implementation cannot support the requested upload.
        DataRecordUploadException - if the upload cannot be completed as requested.
      • initiateDataRecordUpload

        @Nullable
        @Nullable DataRecordUpload initiateDataRecordUpload​(long maxUploadSizeInBytes,
                                                            int maxNumberOfURIs,
                                                            DataRecordUploadOptions options)
                                                     throws java.lang.IllegalArgumentException,
                                                            DataRecordUploadException
        Begin a transaction to perform a direct binary upload to the storage location.
        Parameters:
        maxUploadSizeInBytes - - the largest size of the binary to be uploaded, in bytes, based on the caller's best guess. If the actual size of the file to be uploaded is known, that value should be used.
        maxNumberOfURIs - - the maximum number of URIs the client is able to accept. If the caller does not support multi-part uploading, this value should be 1. Note that the implementing class is not required to support multi-part uploading so it may return only a single upload URI regardless of the value passed in for this parameter. A caller may also pass in -1 to indicate that it is able to accept any number of URIs. Any other negative number or 0 may result in IllegalArgumentException.
        options - - a DataRecordUploadOptions instance containing any caller-specified options for upload URI generation.
        Returns:
        A DataRecordUpload referencing this direct upload, or null if the implementation does not support direct upload.
        Throws:
        java.lang.IllegalArgumentException - if the service provider or implementation cannot support the requested upload.
        DataRecordUploadException - if the upload cannot be completed as requested.
      • completeDataRecordUpload

        @NotNull
        @NotNull DataRecord completeDataRecordUpload​(@NotNull
                                                     @NotNull java.lang.String uploadToken)
                                              throws java.lang.IllegalArgumentException,
                                                     DataRecordUploadException,
                                                     DataStoreException
        Completes the transaction to perform a direct binary upload. This method verifies that the uploaded binary has been created and is now referenceable. For some providers doing multi-part upload, this also completes the multi-part upload process if a multi-part upload was performed.
        Parameters:
        uploadToken - The upload token identifying this direct upload transaction, as returned in the DataRecordUpload object resulting from a call to initiateDataRecordUpload(long, int).
        Returns:
        A DataRecord for the uploaded binary.
        Throws:
        java.lang.IllegalArgumentException - if the uploadToken is null, empty, or otherwise invalid.
        DataRecordUploadException - if the object written can't be found by the service provider.
        DataStoreException - if the object written can't be found by the DataStore.