]> git.basschouten.com Git - openhab-addons.git/blob
ef2aa134415d0987c5a5ff4839a7e3d1793ce21a
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.pjlinkdevice.internal.device.command.input;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.pjlinkdevice.internal.device.PJLinkDevice;
17 import org.openhab.binding.pjlinkdevice.internal.device.command.AbstractCommand;
18 import org.openhab.binding.pjlinkdevice.internal.device.command.ResponseException;
19
20 /**
21  * This command is used for setting the current input of the device as described in
22  * <a href="https://pjlink.jbmia.or.jp/english/data_cl2/PJLink_5-1.pdf">[PJLinkSpec]</a> chapter 4.3. Input switch
23  * instruction
24  *
25  * @author Nils Schnabel - Initial contribution
26  */
27 @NonNullByDefault
28 public class InputInstructionCommand extends AbstractCommand<InputInstructionRequest, InputInstructionResponse> {
29
30     private Input target;
31
32     public InputInstructionCommand(PJLinkDevice pjLinkDevice, Input target) {
33         super(pjLinkDevice);
34         this.target = target;
35     }
36
37     public Input getTarget() {
38         return target;
39     }
40
41     @Override
42     public InputInstructionRequest createRequest() {
43         return new InputInstructionRequest(this);
44     }
45
46     @Override
47     public InputInstructionResponse parseResponse(String response) throws ResponseException {
48         return new InputInstructionResponse(response);
49     }
50 }