]> git.basschouten.com Git - openhab-addons.git/blob
e86b8b18fdfbf7ea78525f3109ad3c3ae50ba404
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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.enocean.internal.config;
14
15 import java.security.InvalidParameterException;
16
17 /**
18  *
19  * @author Daniel Weber - Initial contribution
20  */
21 public class EnOceanChannelRockerSwitchConfigBase {
22
23     public String switchMode;
24     public String channel;
25
26     public enum SwitchMode {
27         Unkown(""),
28         RockerSwitch("rockerSwitch"),
29         ToggleDir1("toggleButtonDir1"),
30         ToggleDir2("toggleButtonDir2");
31
32         private String value;
33
34         SwitchMode(String value) {
35             this.value = value;
36         }
37
38         public String getValue() {
39             return value;
40         }
41
42         public static SwitchMode getSwitchMode(String value) {
43             if (value == null) {
44                 return SwitchMode.Unkown;
45             }
46
47             for (SwitchMode t : SwitchMode.values()) {
48                 if (t.value.equals(value)) {
49                     return t;
50                 }
51             }
52
53             throw new InvalidParameterException("Unknown SwitchMode");
54         }
55     }
56
57     public enum Channel {
58         Unkown(""),
59         ChannelA("channelA"),
60         ChannelB("channelB");
61
62         private String value;
63
64         Channel(String value) {
65             this.value = value;
66         }
67
68         public static Channel getChannel(String value) {
69             if (value == null) {
70                 return Channel.Unkown;
71             }
72
73             for (Channel t : Channel.values()) {
74                 if (t.value.equals(value)) {
75                     return t;
76                 }
77             }
78
79             throw new InvalidParameterException("Unknown Channel");
80         }
81     }
82
83     public EnOceanChannelRockerSwitchConfigBase() {
84         switchMode = "rockerSwitch";
85         channel = "channelA";
86     }
87
88     public SwitchMode getSwitchMode() {
89         return SwitchMode.getSwitchMode(switchMode);
90     }
91
92     public Channel getChannel() {
93         return Channel.getChannel(channel);
94     }
95 }