]> git.basschouten.com Git - openhab-addons.git/blob
9afaaf5c27c4125dc0829cea7c6d04a8188a8de1
[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.digiplex.internal.communication;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17
18 /**
19  * Response for {@link ZoneLabelRequest}
20  *
21  * @author Robert Michalak - Initial contribution
22  *
23  */
24 @NonNullByDefault
25 public class ZoneLabelResponse extends AbstractResponse {
26
27     public final int zoneNo;
28     public final @Nullable String zoneName;
29
30     private ZoneLabelResponse(int zoneNo, String zoneName) {
31         super(true);
32         this.zoneNo = zoneNo;
33         this.zoneName = zoneName;
34     }
35
36     private ZoneLabelResponse(int zoneNo) {
37         super(false);
38         this.zoneNo = zoneNo;
39         this.zoneName = null;
40     }
41
42     /**
43      * Builds a response for a given zoneNo. Indicates that request failed.
44      */
45     public static ZoneLabelResponse failure(int zoneNo) {
46         return new ZoneLabelResponse(zoneNo);
47     }
48
49     /**
50      * Builds a response for a given zoneNo. Indicates that request was successful.
51      */
52     public static ZoneLabelResponse success(int zoneNo, String zoneName) {
53         return new ZoneLabelResponse(zoneNo, zoneName);
54     }
55
56     @Override
57     public void accept(DigiplexMessageHandler visitor) {
58         visitor.handleZoneLabelResponse(this);
59     }
60 }