All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.oss.model.Bucket Maven / Gradle / Ivy

There is a newer version: 3.4.2
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package com.aliyun.oss.model;

import java.util.Date;

/**
 * Bucket is the namespace in OSS. You could think it's a folder or container
 * under OSS.
 * 

* Bucket name is globally unique in OSS and is immutable. Every object must * belong to a bucket. An application such as picture sharing website could be * mapped to one or multiple buckets. An OSS account could only create up to 10 * bucket. And there's no limit on the files count or size under a bucket. *

* Bucket naming rules: *
    *
  • Can only contain low case letter, number or dash(-).
  • *
  • Can only start with low case letter or number.
  • *
  • The length must be between 3 to 63 bytes.
  • *
*/ public class Bucket extends GenericResult { // Bucket name private String name; // Bucket owner private Owner owner; // Bucket location private String location; // Created date. private Date creationDate; // Storage class (Standard, IA, Archive) private StorageClass storageClass = StorageClass.Standard; // External endpoint.It could be accessed from anywhere. private String extranetEndpoint; // Internal endpoint. It could be accessed within AliCloud under the same // location. private String intranetEndpoint; // Region private String region; // Hierarchical namespace status, Enabled means support directory tree. private String hnsStatus; // The id of resource group. private String resourceGroupId; // Bucket access tracking status private String accessMonitor; private String xcType; /** * Default constructor. */ public Bucket() { } /** * Constructor with the bucket name parameter. * * @param name * Bucket name. */ public Bucket(String name) { this.name = name; } public Bucket(String name, String requestId) { setName(name); setRequestId(requestId); } /** * The override of toString(). Returns the bucket name, creation date, owner * and location, with optional storage class. */ @Override public String toString() { if (storageClass == null) { return "OSSBucket [name=" + getName() + ", creationDate=" + getCreationDate() + ", owner=" + getOwner() + ", location=" + getLocation() + "]"; } else { return "OSSBucket [name=" + getName() + ", creationDate=" + getCreationDate() + ", owner=" + getOwner() + ", location=" + getLocation() + ", storageClass=" + getStorageClass() + "]"; } } /** * Gets the {@link Owner}. * * @return The bucket owner or null if the owner is not known. */ public Owner getOwner() { return owner; } /** * Sets the bucket owner (only used by SDK itself). * * @param owner * Bucket owner. */ public void setOwner(Owner owner) { this.owner = owner; } /** * Gets the bucket's creation time. * * @return Bucket's creation time or null if the creation time is unknown. */ public Date getCreationDate() { return creationDate; } /** * Sets teh bucket's creation time.(it's only used by SDK itself). * * @param creationDate * Bucket's creation time. */ public void setCreationDate(Date creationDate) { this.creationDate = creationDate; } /** * Gets the bucket name * * @return Bucket name. */ public String getName() { return name; } /** * Sets the bucket name (should only be used by the SDK itself). * * @param name * Bucket name. */ public void setName(String name) { this.name = name; } /** * Gets the bucket location. * * @return Bucket location. */ public String getLocation() { return location; } /** * Sets the bucket location. * * @param location the bucket location */ public void setLocation(String location) { this.location = location; } /** * Gets the storage class * * @return storage class */ public StorageClass getStorageClass() { return storageClass; } /** * Sets the bucket's storage class * * @param storageClass the storage class */ public void setStorageClass(StorageClass storageClass) { this.storageClass = storageClass; } /** * Gets the external endpoint. * * @return external endpoint */ public String getExtranetEndpoint() { return extranetEndpoint; } /** * Sets the external endpoint. * * @param endpoint * external endpoint */ public void setExtranetEndpoint(String endpoint) { this.extranetEndpoint = endpoint; } /** * Gets the internal endpoint. * * @return Internal endpoint */ public String getIntranetEndpoint() { return intranetEndpoint; } /** * Sets the internal endpoint. * * @param endpoint * Internal endpoint */ public void setIntranetEndpoint(String endpoint) { this.intranetEndpoint = endpoint; } /** * Gets the region. * * @return Region */ public String getRegion() { return this.region; } /** * Sets the region. * * @param region * Region */ public void setRegion(String region) { this.region = region; } /** * @return hierarchical namespace status, refer to {@link HnsStatus}{@link #toString()} */ public String getHnsStatus() { return hnsStatus; } /** * set hierarchical namespace status. * * @param hnsStatus * the hierarchical namespace status. */ public void setHnsStatus(String hnsStatus) { this.hnsStatus = hnsStatus; } /** * Gets the id of resource group. * * @return the id of resource group */ public String getResourceGroupId() { return resourceGroupId; } /** * set the id of resource group. * * @param resourceGroupId * the resource group id. */ public void setResourceGroupId(String resourceGroupId) { this.resourceGroupId = resourceGroupId; } public String getXcType() { return xcType; } public void setXcType(String xcType) { this.xcType = xcType; } public String getAccessMonitor() { return accessMonitor; } public void setAccessMonitor(String accessMonitor) { this.accessMonitor = accessMonitor; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy