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.nest.internal.sdm.config;
15 import java.util.stream.Stream;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
20 * The {@link SDMAccountConfiguration} contains the configuration parameter values for the SDM and Pub/Sub APIs.
22 * @author Brian Higginbotham - Initial contribution
23 * @author Wouter Born - Initial contribution
26 public class SDMAccountConfiguration {
28 public static final String PUBSUB_AUTHORIZATION_CODE = "pubsubAuthorizationCode";
29 public String pubsubAuthorizationCode = "";
31 public static final String PUBSUB_CLIENT_ID = "pubsubClientId";
32 public String pubsubClientId = "";
34 public static final String PUBSUB_CLIENT_SECRET = "pubsubClientSecret";
35 public String pubsubClientSecret = "";
37 public static final String PUBSUB_PROJECT_ID = "pubsubProjectId";
38 public String pubsubProjectId = "";
40 public static final String PUBSUB_SUBSCRIPTION_ID = "pubsubSubscriptionId";
41 public String pubsubSubscriptionId = "";
43 public static final String SDM_AUTHORIZATION_CODE = "sdmAuthorizationCode";
44 public String sdmAuthorizationCode = "";
46 public static final String SDM_CLIENT_ID = "sdmClientId";
47 public String sdmClientId = "";
49 public static final String SDM_CLIENT_SECRET = "sdmClientSecret";
50 public String sdmClientSecret = "";
52 public static final String SDM_PRODUCT_ID = "sdmProductId";
53 public String sdmProjectId = "";
55 public boolean usePubSub() {
56 return Stream.of(pubsubProjectId, pubsubSubscriptionId, pubsubClientId, pubsubClientSecret)
57 .noneMatch(String::isBlank);