BlockBlobCommitBlockListOptions.java
// 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 java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* Extended options that may be passed when committing a block list.
*/
@Fluent
public class BlockBlobCommitBlockListOptions {
private final List<String> base64BlockIds;
private BlobHttpHeaders headers;
private Map<String, String> metadata;
private Map<String, String> tags;
private AccessTier tier;
private BlobRequestConditions requestConditions;
/**
* @param base64BlockIds A list of base64 encode {@code String}s that specifies the block IDs to be committed.
*/
public BlockBlobCommitBlockListOptions(List<String> base64BlockIds) {
this.base64BlockIds = base64BlockIds == null ? null : Collections.unmodifiableList(base64BlockIds);
}
/**
* @return A list of base64 encode {@code String}s that specifies the block IDs to be committed.
*/
public List<String> getBase64BlockIds() {
return this.base64BlockIds;
}
/**
* @return {@link BlobHttpHeaders}
*/
public BlobHttpHeaders getHeaders() {
return headers;
}
/**
* @param headers {@link BlobHttpHeaders}
* @return The updated {@code AppendBlobCreateOptions}
*/
public BlockBlobCommitBlockListOptions setHeaders(BlobHttpHeaders headers) {
this.headers = headers;
return this;
}
/**
* @return The metadata to associate with the blob.
*/
public Map<String, String> getMetadata() {
return metadata;
}
/**
* @param metadata The metadata to associate with the blob.
* @return The updated options
*/
public BlockBlobCommitBlockListOptions setMetadata(Map<String, String> metadata) {
this.metadata = metadata;
return this;
}
/**
* @return The tags to associate with the blob.
*/
public Map<String, String> getTags() {
return tags;
}
/**
* @param tags The tags to associate with the blob.
* @return The updated options.
*/
public BlockBlobCommitBlockListOptions setTags(Map<String, String> tags) {
this.tags = tags;
return this;
}
/**
* @return {@link AccessTier}
*/
public AccessTier getTier() {
return tier;
}
/**
* @param tier {@link AccessTier}
* @return The updated options.
*/
public BlockBlobCommitBlockListOptions 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 BlockBlobCommitBlockListOptions setRequestConditions(BlobRequestConditions requestConditions) {
this.requestConditions = requestConditions;
return this;
}
}