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.velux.internal;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
20 * This represents the configuration of an openHAB item that is binded to a Velux
21 * KLF200 Gateway. It contains the following information:
24 * <li><B>bindingItemType</B>
27 * {@link org.openhab.binding.velux.internal.VeluxBindingConfig#getBindingItemType
28 * getBindingItemType} as representation of the Velux device is filed in the Velux bridge.</li>
29 * <li><B>bindingConfig</B>
32 * {@link org.openhab.binding.velux.internal.VeluxBindingConfig#getBindingConfig getBindingConfig} containing the
33 * device-specific binding configuration
34 * as declared in the binding configuration (possibly adapted by preprocessing).</li>
37 * @author Guenther Schreiner - Initial contribution
40 class VeluxBindingConfig {
42 private final Logger logger = LoggerFactory.getLogger(VeluxBindingConfig.class);
45 * The binding type of the velux item described by type {@link org.openhab.binding.velux.internal.VeluxItemType
48 private VeluxItemType bindingItemType;
51 * Device-specific binding configuration as declared in the binding configuration (possibly adapted by
54 private String bindingConfig;
57 * Constructor of the VeluxBindingConfig.
59 * @param bindingItemType
60 * The Velux item type {@link org.openhab.binding.velux.internal.VeluxItemType
62 * which the Velux device is filed in the Velux bridge.
63 * @param bindingConfig
64 * The optional configuration type of the Velux binding.
66 public VeluxBindingConfig(VeluxItemType bindingItemType, String bindingConfig) {
67 logger.trace("VeluxBindingConfig(constructor:{},{}) called.", bindingItemType, bindingConfig);
69 this.bindingItemType = bindingItemType;
70 this.bindingConfig = bindingConfig;
74 * @return <b>bindingTypeItem</b> of type {@link org.openhab.binding.velux.internal.VeluxItemType
77 public VeluxItemType getBindingItemType() {
78 return this.bindingItemType;
82 * @return <b>bindingConfig</b> of type {@link String} that
83 * has been declared in the binding configuration,
84 * possibly adapted by preprocessing.
86 public String getBindingConfig() {
87 return this.bindingConfig;