]> git.basschouten.com Git - openhab-addons.git/blob
7383b4d7c4277909e1e610f8f306890d9fe25e78
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2021 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.mqtt.homeassistant.internal;
14
15 import java.lang.reflect.Type;
16
17 import com.google.gson.JsonArray;
18 import com.google.gson.JsonDeserializationContext;
19 import com.google.gson.JsonDeserializer;
20 import com.google.gson.JsonElement;
21 import com.google.gson.JsonParseException;
22
23 /**
24  * The {@link ConnectionDeserializer} will de-serialize a connection-list
25  *
26  * see: https://www.home-assistant.io/integrations/sensor.mqtt/#connections
27  *
28  * @author Jan N. Klug - Initial contribution
29  */
30 public class ConnectionDeserializer implements JsonDeserializer<BaseChannelConfiguration.Connection> {
31     @Override
32     public BaseChannelConfiguration.Connection deserialize(JsonElement json, Type typeOfT,
33             JsonDeserializationContext context) throws JsonParseException {
34         JsonArray list = json.getAsJsonArray();
35         BaseChannelConfiguration.Connection conn = new BaseChannelConfiguration.Connection();
36         conn.type = list.get(0).getAsString();
37         conn.identifier = list.get(1).getAsString();
38         return conn;
39     }
40 }