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

org.javaswift.joss.command.impl.container.CreateContainerCommandImpl Maven / Gradle / Ivy

The newest version!
package org.javaswift.joss.command.impl.container;

import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPut;
import org.javaswift.joss.command.impl.core.httpstatus.HttpStatusChecker;
import org.javaswift.joss.command.impl.core.httpstatus.HttpStatusFailCondition;
import org.javaswift.joss.command.impl.core.httpstatus.HttpStatusMatch;
import org.javaswift.joss.command.impl.core.httpstatus.HttpStatusSuccessCondition;
import org.javaswift.joss.command.shared.container.CreateContainerCommand;
import org.javaswift.joss.model.Access;
import org.javaswift.joss.model.Account;
import org.javaswift.joss.model.Container;

public class CreateContainerCommandImpl extends AbstractContainerCommand implements CreateContainerCommand {

    public CreateContainerCommandImpl(Account account, HttpClient httpClient, Access access, Container container) {
        super(account, httpClient, access, container);
        if(container.getCustomHeaders() != null) {
            addHeaders(container.getCustomHeaders());
        }
    }

    @Override
    protected HttpPut createRequest(String url) {
        return new HttpPut(url);
    }

    @Override
    public HttpStatusChecker[] getStatusCheckers() {
        return new HttpStatusChecker[] {
            new HttpStatusSuccessCondition(new HttpStatusMatch(HttpStatus.SC_CREATED)),
            new HttpStatusFailCondition(new HttpStatusMatch(HttpStatus.SC_ACCEPTED))
        };
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy