]> git.basschouten.com Git - openhab-addons.git/blob
646b882e990dea5f60b7b99c28d65131664a7dfc
[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.rfxcom.internal.config;
14
15 import org.openhab.binding.rfxcom.internal.exceptions.RFXComInvalidParameterException;
16 import org.openhab.binding.rfxcom.internal.messages.RFXComDeviceMessage;
17
18 /**
19  * Configuration class for generic RFXCOM device.
20  *
21  * @author Pauli Anttila - Initial contribution
22  * @author James Hewitt-Thomas - Add validations and matching
23  */
24 public class RFXComGenericDeviceConfiguration implements RFXComDeviceConfiguration {
25     public static final String DEVICE_ID_LABEL = "deviceId";
26     public static final String SUB_TYPE_LABEL = "subType";
27     public String deviceId;
28     public String subType;
29
30     @Override
31     public void parseAndValidate() throws RFXComInvalidParameterException {
32         if (deviceId == null) {
33             throw new RFXComInvalidParameterException("deviceId", null, "RFXCOM device missing deviceId");
34         }
35         if (subType == null) {
36             throw new RFXComInvalidParameterException("subType", null, "RFXCOM device missing subType");
37         }
38     }
39
40     @Override
41     public boolean matchesMessage(RFXComDeviceMessage message) {
42         return deviceId.equals(message.getDeviceId());
43     }
44 }