/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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 org.jclouds.aws.domain;
import java.util.Map;
import com.google.common.collect.Maps;
/**
* When an Amazon S3 request is in error, the client receives an error response.
*
* @see <a
* href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?ErrorResponse.html"
* />
* @author Adrian Cole
*
*/
public class AWSError {
private String code;
private String message;
private String requestId;
private String requestToken;
private Map<String, String> details = Maps.newHashMap();
private String stringSigned;
private String signature;
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("AWSError");
sb.append("{requestId='").append(requestId).append('\'');
sb.append(", requestToken='").append(requestToken).append('\'');
if (code != null)
sb.append(", code='").append(code).append('\'');
if (message != null)
sb.append(", message='").append(message).append('\'');
if (stringSigned != null)
sb.append(", stringSigned='").append(stringSigned).append('\'');
if (getSignature() != null)
sb.append(", signature='").append(getSignature()).append('\'');
if (details.size() != 0)
sb.append(", context='").append(details.toString()).append('\'');
sb.append('}');
return sb.toString();
}
public void setCode(String code) {
this.code = code;
}
/**
* The error code is a string that uniquely identifies an error condition. It is meant to be read
* and understood by programs that detect and handle errors by type
*
* @see <a href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/ErrorCode.html" />
*/
public String getCode() {
return code;
}
public void setMessage(String message) {
this.message = message;
}
/**
* The error message contains a generic description of the error condition in English.
*
* @see <a href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/ErrorMessage.html" />
*/
public String getMessage() {
return message;
}
public void setRequestId(String requestId) {
this.requestId = requestId;
}
/**
* * A unique ID assigned to each request by the system. In the unlikely event that you have
* problems with Amazon S3, Amazon can use this to help troubleshoot the problem.
*
*/
public String getRequestId() {
return requestId;
}
public void setStringSigned(String stringSigned) {
this.stringSigned = stringSigned;
}
/**
* @return what jclouds signed before sending the request.
*/
public String getStringSigned() {
return stringSigned;
}
public void setDetails(Map<String, String> context) {
this.details = context;
}
/**
* @return additional details surrounding the error.
*/
public Map<String, String> getDetails() {
return details;
}
public void setRequestToken(String requestToken) {
this.requestToken = requestToken;
}
public String getRequestToken() {
return requestToken;
}
public void setSignature(String signature) {
this.signature = signature;
}
public String getSignature() {
return signature;
}
}