package crmdna.common.api;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class APIResponse implements Serializable {
private static final long serialVersionUID = 1L;
public Status statusCode;
public String userFriendlyMessage;
public Object object;
public List<StackTraceElementProp> stackTrace = new ArrayList<>();
public Long processingTimeInMS;
public APIResponse() {
}
public APIResponse status(Status status) {
this.statusCode = status;
return this;
}
public APIResponse message(String userFriendlyMessage) {
this.userFriendlyMessage = userFriendlyMessage;
return this;
}
public APIResponse object(Object object) {
this.object = object;
return this;
}
public APIResponse processingTimeInMS(Long ms) {
this.processingTimeInMS = ms;
return this;
}
public enum Status {
SUCCESS, ERROR_LOGIN_REQUIRED, ERROR_INVALID_USER, ERROR_INSUFFICIENT_PERMISSION, ERROR_RESOURCE_NOT_FOUND, ERROR_RESOURCE_ALREADY_EXISTS, ERROR_RESOURCE_NOT_FULLY_SPECIFIED, ERROR_RESOURCE_INCORRECT, ERROR_PRECONDITION_FAILED, ERROR_UNHANDLED_EXCEPTION, ERROR_NOT_IMPLEMENTED, ERROR_INTERNAL, ERROR_OPERATION_NOT_ALLOWED, PAYPAL_ERROR, ERROR_OVERFLOW, ERROR_AUTH_FAILURE, ERROR_INVALID_INPUT, ERROR_INVALID_SETUP, ASYNC_CALL_SUBMITTED
}
}