]> git.basschouten.com Git - openhab-addons.git/blob
8f227c26e482fc8aa6995f5fd9f03b6a6a849683
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2020 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.amazonechocontrol.internal.smarthome;
14
15 import java.util.HashMap;
16 import java.util.Map;
17 import java.util.Set;
18 import java.util.function.Supplier;
19
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants;
22 import org.openhab.core.thing.type.ChannelTypeUID;
23
24 /**
25  * @author Michael Geramb - Initial contribution
26  */
27 @NonNullByDefault
28 public class Constants {
29     public static final Map<String, Supplier<HandlerBase>> HANDLER_FACTORY = new HashMap<>();
30
31     static {
32         HANDLER_FACTORY.put(HandlerPowerController.INTERFACE, HandlerPowerController::new);
33         HANDLER_FACTORY.put(HandlerBrightnessController.INTERFACE, HandlerBrightnessController::new);
34         HANDLER_FACTORY.put(HandlerColorController.INTERFACE, HandlerColorController::new);
35         HANDLER_FACTORY.put(HandlerColorTemperatureController.INTERFACE, HandlerColorTemperatureController::new);
36         HANDLER_FACTORY.put(HandlerSecurityPanelController.INTERFACE, HandlerSecurityPanelController::new);
37         HANDLER_FACTORY.put(HandlerAcousticEventSensor.INTERFACE, HandlerAcousticEventSensor::new);
38         HANDLER_FACTORY.put(HandlerTemperatureSensor.INTERFACE, HandlerTemperatureSensor::new);
39         HANDLER_FACTORY.put(HandlerThermostatController.INTERFACE, HandlerThermostatController::new);
40         HANDLER_FACTORY.put(HandlerPercentageController.INTERFACE, HandlerPercentageController::new);
41         HANDLER_FACTORY.put(HandlerPowerLevelController.INTERFACE, HandlerPowerLevelController::new);
42     }
43
44     public static final Set<String> SUPPORTED_INTERFACES = HANDLER_FACTORY.keySet();
45
46     // channel types
47     public static final ChannelTypeUID CHANNEL_TYPE_TEMPERATURE = new ChannelTypeUID(
48             AmazonEchoControlBindingConstants.BINDING_ID, "temperature");
49
50     // List of Item types
51     public static final String ITEM_TYPE_SWITCH = "Switch";
52     public static final String ITEM_TYPE_DIMMER = "Dimmer";
53     public static final String ITEM_TYPE_STRING = "String";
54     public static final String ITEM_TYPE_NUMBER = "Number";
55     public static final String ITEM_TYPE_NUMBER_TEMPERATURE = "Number:Temperature";
56     public static final String ITEM_TYPE_CONTACT = "Contact";
57     public static final String ITEM_TYPE_COLOR = "Color";
58 }