]> git.basschouten.com Git - openhab-addons.git/blob
326f8e2ab7aba749920b7a9b685cd55de205bfbc
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2022 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.digitalstrom.internal.lib.structure;
14
15 import java.util.List;
16
17 import org.openhab.binding.digitalstrom.internal.lib.structure.devices.Device;
18
19 /**
20  * The {@link Zone} represents a digitalSTROM-Zone.
21  *
22  * @author Alexander Betker - initial contributer
23  * @author Michael Ochel - add java-doc
24  * @author Matthias Siegele - add java-doc
25  */
26 public interface Zone {
27
28     /**
29      * Returns the zone id of this {@link Zone}.
30      *
31      * @return zoneID
32      */
33     int getZoneId();
34
35     /**
36      * Sets the zone id of this {@link Zone}.
37      *
38      * @param id to set
39      */
40     void setZoneId(int id);
41
42     /**
43      * Returns the zone name of this {@link Zone}.
44      *
45      * @return zone name
46      */
47     String getName();
48
49     /**
50      * Sets the zone name of this {@link Zone}.
51      *
52      * @param name to set
53      */
54     void setName(String name);
55
56     /**
57      * Returns the {@link List} of all included groups as {@link DetailedGroupInfo}.
58      *
59      * @return list of all groups
60      */
61     List<DetailedGroupInfo> getGroups();
62
63     /**
64      * Adds a group as {@link DetailedGroupInfo}.
65      *
66      * @param group to add
67      */
68     void addGroup(DetailedGroupInfo group);
69
70     /**
71      * Returns a {@link List} of all included {@link Device}'s.
72      *
73      * @return device list
74      */
75     List<Device> getDevices();
76
77     /**
78      * Adds a {@link Device} to this {@link Zone}.
79      *
80      * @param device to add
81      */
82     void addDevice(Device device);
83 }