/** * Copyright (c) 2010-2016 by the respective copyright holders. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.openhab.binding.ecobee.messages; import org.apache.commons.lang.builder.ToStringBuilder; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.annotate.JsonProperty; /** * The response status object contains the processing status of the request. It will contain any relevant error * information should an error occur. The status object is returned with every response regardless of success or failure * status. It is suitable for logging request failures. * * @see <a href="https://www.ecobee.com/home/developer/api/documentation/v1/objects/Status.shtml">Status</a> * @author John Cocula * @since 1.7.0 */ @JsonIgnoreProperties(ignoreUnknown = true) public class Status extends AbstractMessagePart { private Integer code; private String message; /** * @return the status code for this status */ @JsonProperty("code") public Integer getCode() { return this.code; } /** * @return the detailed message for this status */ @JsonProperty("message") public String getMessage() { return this.message; } /** * @return <code>true</code> if we know this error indicates that the access token has expired. */ public boolean isAccessTokenExpired() { return this.code != null && this.code == 14; } @Override public String toString() { final ToStringBuilder builder = createToStringBuilder(); builder.appendSuper(super.toString()); builder.append("code", this.code); builder.append("message", this.message); return builder.toString(); } }