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.lametrictime.internal.api;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17 import org.openhab.binding.lametrictime.internal.api.cloud.CloudConfiguration;
18 import org.openhab.binding.lametrictime.internal.api.local.LocalConfiguration;
21 * Configuration class for LaMetric Time.
23 * @author Gregory Moyer - Initial contribution
26 public class Configuration {
28 private String deviceHost;
30 private String deviceApiKey;
32 private boolean ignoreDeviceCertificateValidation = true;
33 private boolean ignoreDeviceHostnameValidation = true;
35 private boolean logging = false;
36 private String logLevel = "INFO";
37 private int logMax = 104857600; // 100kb
39 public @Nullable String getDeviceHost() {
43 public void setDeviceHost(String deviceHost) {
44 this.deviceHost = deviceHost;
47 public Configuration withDeviceHost(@Nullable String deviceHost) {
48 this.deviceHost = deviceHost;
52 public @Nullable String getDeviceApiKey() {
56 public void setDeviceApiKey(String deviceApiKey) {
57 this.deviceApiKey = deviceApiKey;
60 public Configuration withDeviceApiKey(@Nullable String deviceApiKey) {
61 this.deviceApiKey = deviceApiKey;
65 public boolean isIgnoreDeviceCertificateValidation() {
66 return ignoreDeviceCertificateValidation;
69 public void setIgnoreDeviceCertificateValidation(boolean ignoreDeviceCertificateValidation) {
70 this.ignoreDeviceCertificateValidation = ignoreDeviceCertificateValidation;
73 public Configuration withIgnoreDeviceCertificateValidation(boolean ignoreDeviceCertificateValidation) {
74 this.ignoreDeviceCertificateValidation = ignoreDeviceCertificateValidation;
78 public boolean isIgnoreDeviceHostnameValidation() {
79 return ignoreDeviceHostnameValidation;
82 public void setIgnoreDeviceHostnameValidation(boolean ignoreDeviceHostnameValidation) {
83 this.ignoreDeviceHostnameValidation = ignoreDeviceHostnameValidation;
86 public Configuration withIgnoreDeviceHostnameValidation(boolean ignoreDeviceHostnameValidation) {
87 this.ignoreDeviceHostnameValidation = ignoreDeviceHostnameValidation;
91 public boolean isLogging() {
95 public void setLogging(boolean logging) {
96 this.logging = logging;
99 public Configuration withLogging(boolean logging) {
100 this.logging = logging;
104 public String getLogLevel() {
108 public void setLogLevel(String logLevel) {
109 this.logLevel = logLevel;
112 public Configuration withLogLevel(String logLevel) {
113 this.logLevel = logLevel;
117 public int getLogMax() {
121 public void setLogMax(int logMax) {
122 this.logMax = logMax;
125 public Configuration withLogMax(int logMax) {
126 this.logMax = logMax;
130 public LocalConfiguration getLocalConfig() {
131 return new LocalConfiguration().withHost(deviceHost).withApiKey(deviceApiKey)
132 .withIgnoreCertificateValidation(ignoreDeviceCertificateValidation)
133 .withIgnoreHostnameValidation(ignoreDeviceHostnameValidation).withLogging(logging)
134 .withLogLevel(logLevel).withLogMax(logMax);
137 public CloudConfiguration getCloudConfig() {
138 return new CloudConfiguration().withLogging(logging).withLogLevel(logLevel).withLogMax(logMax);