2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
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
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.enocean.internal.config;
15 import java.security.InvalidParameterException;
19 * @author Daniel Weber - Initial contribution
21 public class EnOceanChannelRockerSwitchConfigBase {
23 public String switchMode;
24 public String channel;
26 public enum SwitchMode {
28 RockerSwitch("rockerSwitch"),
29 ToggleDir1("toggleButtonDir1"),
30 ToggleDir2("toggleButtonDir2");
34 SwitchMode(String value) {
38 public String getValue() {
42 public static SwitchMode getSwitchMode(String value) {
44 return SwitchMode.Unkown;
47 for (SwitchMode t : SwitchMode.values()) {
48 if (t.value.equals(value)) {
53 throw new InvalidParameterException("Unknown SwitchMode");
64 Channel(String value) {
68 public static Channel getChannel(String value) {
70 return Channel.Unkown;
73 for (Channel t : Channel.values()) {
74 if (t.value.equals(value)) {
79 throw new InvalidParameterException("Unknown Channel");
83 public EnOceanChannelRockerSwitchConfigBase() {
84 switchMode = "rockerSwitch";
88 public SwitchMode getSwitchMode() {
89 return SwitchMode.getSwitchMode(switchMode);
92 public Channel getChannel() {
93 return Channel.getChannel(channel);