com.azure.storage.blob.options.PageBlobCreateOptions 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.storage.blob.models.BlobHttpHeaders;
import com.azure.storage.blob.models.BlobImmutabilityPolicy;
import com.azure.storage.blob.models.BlobRequestConditions;
import java.util.Map;
/**
* Extended options that may be passed when creating a Page Blob.
*/
public class PageBlobCreateOptions {
private final long size;
private Long sequenceNumber;
private BlobHttpHeaders headers;
private Map metadata;
private Map tags;
private BlobRequestConditions requestConditions;
private BlobImmutabilityPolicy immutabilityPolicy;
private Boolean legalHold;
/**
* @param size Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a
* 512-byte boundary.
*/
public PageBlobCreateOptions(long size) {
this.size = size;
}
/**
* @return Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a
* 512-byte boundary.
*/
public long getSize() {
return this.size;
}
/**
* @return A user-controlled value that you can use to track requests. The value of the sequence
* number must be between 0 and 2^63 - 1.The default value is 0.
*/
public Long getSequenceNumber() {
return sequenceNumber;
}
/**
* @param sequenceNumber A user-controlled value that you can use to track requests. The value of the sequence
* number must be between 0 and 2^63 - 1.The default value is 0.
* @return The updated options.
*/
public PageBlobCreateOptions setSequenceNumber(Long sequenceNumber) {
this.sequenceNumber = sequenceNumber;
return this;
}
/**
* @return {@link BlobHttpHeaders}
*/
public BlobHttpHeaders getHeaders() {
return headers;
}
/**
* @param headers {@link BlobHttpHeaders}
* @return The updated {@code AppendBlobCreateOptions}
*/
public PageBlobCreateOptions 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 PageBlobCreateOptions 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 PageBlobCreateOptions setTags(Map tags) {
this.tags = tags;
return this;
}
/**
* @return {@link BlobRequestConditions}
*/
public BlobRequestConditions getRequestConditions() {
return requestConditions;
}
/**
* @param requestConditions {@link BlobRequestConditions}
* @return The updated options.
*/
public PageBlobCreateOptions setRequestConditions(BlobRequestConditions requestConditions) {
this.requestConditions = requestConditions;
return this;
}
/**
* @return {@link BlobImmutabilityPolicy}
*/
public BlobImmutabilityPolicy getImmutabilityPolicy() {
return immutabilityPolicy;
}
/**
* Note that this parameter is only applicable to a blob within a container that has immutable storage with
* versioning enabled.
* @param immutabilityPolicy {@link BlobImmutabilityPolicy}
* @return The updated options.
*/
public PageBlobCreateOptions setImmutabilityPolicy(BlobImmutabilityPolicy immutabilityPolicy) {
this.immutabilityPolicy = immutabilityPolicy;
return this;
}
/**
* @return If a legal hold should be placed on the blob.
*/
public Boolean isLegalHold() {
return legalHold;
}
/**
* Note that this parameter is only applicable to a blob within a container that has immutable storage with
* versioning enabled.
* @param legalHold Indicates if a legal hold should be placed on the blob.
* @return The updated options.
*/
public PageBlobCreateOptions setLegalHold(Boolean legalHold) {
this.legalHold = legalHold;
return this;
}
}