2 * Copyright (c) 2010-2020 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.vigicrues.internal.dto.vigicrues;
15 import java.util.HashMap;
16 import java.util.List;
17 import java.util.Locale;
20 import org.openhab.binding.vigicrues.internal.VigiCruesBindingConstants;
22 import com.google.gson.annotations.SerializedName;
25 * The {@link CdStationHydro} is the Java class used to map the JSON
26 * response to an vigicrue api endpoint request.
28 * @author Gaël L'hopital - Initial contribution
30 public class CdStationHydro {
32 public class PereBoitEntVigiCru {
33 @SerializedName("CdEntVigiCru")
34 public String cdEntVigiCru;
37 public class CruesHistorique {
38 @SerializedName("LbUsuel")
40 @SerializedName("ValHauteur")
42 @SerializedName("ValDebit")
45 public Map<String, String> getDescription() {
46 Map<String, String> result = new HashMap<>();
48 result.put(String.format("%s %s (%s)", VigiCruesBindingConstants.FLOOD,
49 VigiCruesBindingConstants.HEIGHT, name), String.format(Locale.US, "%.2f m", height));
52 result.put(String.format("%s %s (%s)", VigiCruesBindingConstants.FLOOD, VigiCruesBindingConstants.FLOW,
53 name), String.format(Locale.US, "%.2f m³/s", flow));
59 public class VigilanceCrues {
60 @SerializedName("PereBoitEntVigiCru")
61 public PereBoitEntVigiCru pereBoitEntVigiCru;
62 @SerializedName("CruesHistoriques")
63 public List<CruesHistorique> cruesHistoriques;
65 * Currently unused, maybe interesting in the future
67 * @SerializedName("StationPrevision")
68 * public String stationPrevision;
70 * @SerializedName("Photo")
71 * public String photo;
73 * @SerializedName("ZoomInitial")
74 * public String zoomInitial;
78 @SerializedName("VigilanceCrues")
79 public VigilanceCrues vigilanceCrues;
81 * Currently unused, maybe interesting in the future
83 * @SerializedName("VersionFlux")
84 * public String versionFlux;
86 * @SerializedName("CdStationHydro")
87 * public String cdStationHydro;
89 * @SerializedName("LbStationHydro")
90 * public String lbStationHydro;
92 * @SerializedName("LbCoursEau")
93 * public String lbCoursEau;
95 * @SerializedName("CdStationHydroAncienRef")
96 * public String cdStationHydroAncienRef;
98 * @SerializedName("CdCommune")
99 * public String cdCommune;
101 * @SerializedName("error_msg")
102 * public String errorMsg;