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

com.ksyun.ks3.service.request.PutBucketACLRequest Maven / Gradle / Ivy

package com.ksyun.ks3.service.request;

import com.ksyun.ks3.dto.*;

import static com.ksyun.ks3.exception.client.ClientIllegalArgumentExceptionGenerator.notNull;

import com.ksyun.ks3.http.HttpHeaders;
import com.ksyun.ks3.http.HttpMethod;
import com.ksyun.ks3.http.Request;
import com.ksyun.ks3.utils.HttpUtils;
import com.ksyun.ks3.utils.StringUtils;

/**
 * 修改bucket的acl
 * @author LIJUNWEI
 *
 */
public class PutBucketACLRequest extends Ks3WebServiceRequest{
	private String bucket;
	/**
	 * bucket的acl
	 */
    private AccessControlList accessControlList;
    /**
     * 一种快捷的配置方式
     */
    private CannedAccessControlList cannedAcl;
    
    public String getBucket() {
		return bucket;
	}

	public void setBucket(String bucket) {
		this.bucket = bucket;
	}

	public CannedAccessControlList getCannedAcl() {
        return cannedAcl;
    }

    public void setCannedAcl(CannedAccessControlList cannedAcl) {
        this.cannedAcl = cannedAcl;
    }
    

    public AccessControlList getAccessControlList() {
		return accessControlList;
	}

	public void setAccessControlList(AccessControlList accessControlList) {
		this.accessControlList = accessControlList;
	}

    @Override
	public void validateParams() throws IllegalArgumentException {
    	if(StringUtils.isBlank(this.bucket)){
    		throw notNull("bucketname");
    	}
    	if(this.accessControlList==null&&this.cannedAcl==null)
    		throw notNull("accessControlList","cannedAcl");
    }
    public PutBucketACLRequest(String bucketName)
    {
    	this.bucket = bucketName;
    }
    public PutBucketACLRequest(String bucketName,CannedAccessControlList cannedAcl)
    {
    	this.bucket = bucketName;
    	this.setCannedAcl(cannedAcl);
    }
    public PutBucketACLRequest(String bucketName,AccessControlList accessControlList) {
    	this.bucket = bucketName;
        this.accessControlList = accessControlList;
    }

	@Override
	public void buildRequest(Request request) {
		request.setMethod(HttpMethod.PUT);
		request.setBucket(bucket);
		request.addQueryParam("acl", "");
        if(getCannedAcl()!=null){
        	request.addHeader(HttpHeaders.CannedAcl,getCannedAcl().toString());
        }

		if(this.accessControlList!=null)
		{
			request.getHeaders().putAll(HttpUtils.convertAcl2Headers(accessControlList));
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy