com.azure.storage.blob.options.BlobUploadFromFileOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-storage-blob Show documentation
Show all versions of azure-storage-blob Show documentation
This module contains client library for Microsoft Azure Blob Storage.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.storage.blob.options;
import com.azure.core.annotation.Fluent;
import com.azure.storage.blob.models.AccessTier;
import com.azure.storage.blob.models.BlobHttpHeaders;
import com.azure.storage.blob.models.BlobRequestConditions;
import com.azure.storage.blob.models.ParallelTransferOptions;
import com.azure.storage.common.implementation.StorageImplUtils;
import java.util.Map;
/**
* Extended options that may be passed when uploading a blob from a file.
*/
@Fluent
public class BlobUploadFromFileOptions {
private final String filePath;
private ParallelTransferOptions parallelTransferOptions;
private BlobHttpHeaders headers;
private Map metadata;
private Map tags;
private AccessTier tier;
private BlobRequestConditions requestConditions;
/**
* Constructs a {@link BlobUploadFromFileOptions}.
*
* @param filePath Path of the file to upload.
*/
public BlobUploadFromFileOptions(String filePath) {
StorageImplUtils.assertNotNull("filePath", filePath);
this.filePath = filePath;
}
/**
* @return The path of the file to upload
*/
public String getFilePath() {
return filePath;
}
/**
* @return {@link ParallelTransferOptions}
*/
public ParallelTransferOptions getParallelTransferOptions() {
return parallelTransferOptions;
}
/**
* @param parallelTransferOptions {@link ParallelTransferOptions}
* @return The updated options.
*/
public BlobUploadFromFileOptions setParallelTransferOptions(ParallelTransferOptions parallelTransferOptions) {
this.parallelTransferOptions = parallelTransferOptions;
return this;
}
/**
* @return {@link BlobHttpHeaders}
*/
public BlobHttpHeaders getHeaders() {
return headers;
}
/**
* @param headers {@link BlobHttpHeaders}
* @return The updated {@code AppendBlobCreateOptions}
*/
public BlobUploadFromFileOptions setHeaders(BlobHttpHeaders headers) {
this.headers = headers;
return this;
}
/**
* @return The metadata to associate with the blob.
*/
public Map getMetadata() {
return metadata;
}
/**
* @param metadata The metadata to associate with the blob.
* @return The updated options
*/
public BlobUploadFromFileOptions setMetadata(Map metadata) {
this.metadata = metadata;
return this;
}
/**
* @return The tags to associate with the blob.
*/
public Map getTags() {
return tags;
}
/**
* @param tags The tags to associate with the blob.
* @return The updated options.
*/
public BlobUploadFromFileOptions setTags(Map tags) {
this.tags = tags;
return this;
}
/**
* @return {@link AccessTier}
*/
public AccessTier getTier() {
return tier;
}
/**
* @param tier {@link AccessTier}
* @return The updated options.
*/
public BlobUploadFromFileOptions setTier(AccessTier tier) {
this.tier = tier;
return this;
}
/**
* @return {@link BlobRequestConditions}
*/
public BlobRequestConditions getRequestConditions() {
return requestConditions;
}
/**
* @param requestConditions {@link BlobRequestConditions}
* @return The updated options.
*/
public BlobUploadFromFileOptions setRequestConditions(BlobRequestConditions requestConditions) {
this.requestConditions = requestConditions;
return this;
}
}