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.plclogo.internal.config;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
18 * The {@link PLCCommonConfiguration} is a base class for configuration
19 * of Siemens LOGO! PLC blocks.
21 * @author Alexander Falkenstern - Initial contribution
24 abstract class PLCCommonConfiguration {
26 private Boolean force = false;
29 * Returns if Siemens LOGO! channels update must be forced.
31 * @return True, if channels update to be forced and false otherwise
33 public Boolean isUpdateForced() {
38 * Set Siemens LOGO! channels update must be forced.
40 * @param force Force update of Siemens LOGO! block
42 public void setForceUpdate(final Boolean force) {
47 * Return channel type accepted by thing.
48 * Can be Contact, Switch, Number, DateTime or String
50 * @return Accepted channel type
52 public abstract String getChannelType();
55 * Get configured Siemens LOGO! blocks kind.
56 * Can be I, Q, M, NI or NQ for digital blocks, AI, AM,
57 * AQ, NAI or NAQ for analog and VB, VW or VD for memory
59 * @return Configured Siemens LOGO! blocks kind
61 public abstract String getBlockKind();