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.boschshc.internal.serialization;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.boschshc.internal.services.dto.BoschSHCServiceState;
18 import com.google.gson.Gson;
19 import com.google.gson.GsonBuilder;
22 * Utilities for JSON serialization and deserialization using Google Gson.
24 * @author David Pace - Initial contribution
28 public final class GsonUtils {
34 * The default Gson instance to be used for serialization and deserialization.
36 * This instance does not serialize or deserialize fields named <code>logger</code>.
38 public static final Gson DEFAULT_GSON_INSTANCE = new GsonBuilder()
39 .registerTypeAdapter(BoschSHCServiceState.class, new BoschServiceDataDeserializer())
40 .addSerializationExclusionStrategy(new LoggerExclusionStrategy())
41 .addDeserializationExclusionStrategy(new LoggerExclusionStrategy()).create();