/** * 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 java.util.List; import org.apache.commons.lang.builder.ToStringBuilder; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.annotate.JsonProperty; /** * Retrieves a selection of thermostat data for one or more thermostats. The type of data retrieved is determined by the * {@link Selection} object in the request. The <code>include*</code> properties of the selection retrieve specific * portions of the thermostat. * * <p> * When retrieving thermostats, request only the parts of the thermostat you require as the whole thermostat with * everything can be quite large and generally unnecessary. * * @see <a href="https://www.ecobee.com/home/developer/api/documentation/v1/operations/get-thermostats.shtml">GET * Thermostats</a> * @author John Cocula * @since 1.7.0 */ @JsonIgnoreProperties(ignoreUnknown = true) public class ThermostatResponse extends ApiResponse { private Page page; private List<Thermostat> thermostatList; /** * @return the page information for the response */ @JsonProperty("page") public Page getPage() { return this.page; } /** * @return the list of thermostats returned by the request */ @JsonProperty("thermostatList") public List<Thermostat> getThermostatList() { return this.thermostatList; } /** * Fix up any internal references and create name-based maps for easy traversal. */ protected void sync() { if (this.thermostatList != null) { for (Thermostat t : this.thermostatList) { t.sync(); } } } @Override public String toString() { final ToStringBuilder builder = createToStringBuilder(); builder.appendSuper(super.toString()); builder.append("page", this.page); builder.append("thermostatList", this.thermostatList); return builder.toString(); } }