/** * Copyright (c) 2014-2017 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.eclipse.smarthome.binding.digitalstrom.internal.lib.structure; import java.util.List; import org.eclipse.smarthome.binding.digitalstrom.internal.lib.structure.devices.Device; /** * The {@link Zone} represents a digitalSTROM-Zone. * * @author Alexander Betker * * @author Michael Ochel - add java-doc * @author Matthias Siegele - add java-doc */ public interface Zone { /** * Returns the zone id of this {@link Zone}. * * @return zoneID */ public int getZoneId(); /** * Sets the zone id of this {@link Zone}. */ public void setZoneId(int id); /** * Returns the zone name of this {@link Zone}. * * @return zone name */ public String getName(); /** * Sets the zone name of this {@link Zone}. */ public void setName(String name); /** * Returns the {@link List} of all included groups as {@link DetailedGroupInfo}. * * @return list of all groups */ public List<DetailedGroupInfo> getGroups(); /** * Adds a group as {@link DetailedGroupInfo}. * * @param group */ public void addGroup(DetailedGroupInfo group); /** * Returns a {@link List} of all included {@link Device}'s. * * @return device list */ public List<Device> getDevices(); /** * Adds a {@link Device} to this {@link Zone}. * * @param device */ public void addDevice(Device device); }