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.io.transport.modbus.internal;
15 import org.apache.commons.lang.builder.StandardToStringStyle;
16 import org.apache.commons.lang.builder.ToStringBuilder;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.openhab.io.transport.modbus.ModbusFailureCallback;
19 import org.openhab.io.transport.modbus.ModbusWriteCallback;
20 import org.openhab.io.transport.modbus.ModbusWriteRequestBlueprint;
21 import org.openhab.io.transport.modbus.WriteTask;
22 import org.openhab.io.transport.modbus.endpoint.ModbusSlaveEndpoint;
25 * Simple implementation for Modbus write requests
27 * @author Sami Salonen - Initial contribution
31 public class BasicWriteTask implements WriteTask {
33 private static final StandardToStringStyle TO_STRING_STYLE = new StandardToStringStyle();
35 TO_STRING_STYLE.setUseShortClassName(true);
38 private ModbusSlaveEndpoint endpoint;
39 private ModbusWriteRequestBlueprint request;
40 private ModbusWriteCallback resultCallback;
41 private ModbusFailureCallback<ModbusWriteRequestBlueprint> failureCallback;
43 public BasicWriteTask(ModbusSlaveEndpoint endpoint, ModbusWriteRequestBlueprint request,
44 ModbusWriteCallback resultCallback, ModbusFailureCallback<ModbusWriteRequestBlueprint> failureCallback) {
46 this.endpoint = endpoint;
47 this.request = request;
48 this.resultCallback = resultCallback;
49 this.failureCallback = failureCallback;
53 public ModbusSlaveEndpoint getEndpoint() {
58 public ModbusWriteRequestBlueprint getRequest() {
63 public ModbusWriteCallback getResultCallback() {
64 return resultCallback;
68 public ModbusFailureCallback<ModbusWriteRequestBlueprint> getFailureCallback() {
69 return failureCallback;
73 public String toString() {
74 return new ToStringBuilder(this, TO_STRING_STYLE).append("request", request).append("endpoint", endpoint)
75 .append("resultCallback", resultCallback).append("failureCallback", failureCallback).toString();