/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package storageapi; import org.apache.commons.lang.StringUtils; public class APIException extends RuntimeException { private final int statusCode; private final String statusText; private final String errorMessage; public APIException(int statusCode, String statusText, String errorMessage) { super(constructMessage(statusCode, statusText, errorMessage)); this.statusCode = statusCode; this.statusText = statusText; this.errorMessage = errorMessage; } public int getStatusCode() { return statusCode; } public String getStatusText() { return statusText; } public String getErrorMessage() { return errorMessage; } public static String constructMessage(int statusCode, String statusText, String errorMessage) { StringBuilder sb = new StringBuilder(); sb.append(statusCode); if (StringUtils.isNotBlank(statusText)) { sb.append(" : ").append(statusText); } if (StringUtils.isNotBlank(errorMessage)) { sb.append(" : ").append(errorMessage); } return sb.toString(); } }