]> git.basschouten.com Git - openhab-addons.git/blob
9b7c1fa6e0006db95e92a2a7e44364ae67537e6b
[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.hue.internal.api.dto.clip2;
14
15 import java.time.Instant;
16
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.eclipse.jdt.annotation.Nullable;
19 import org.openhab.binding.hue.internal.api.dto.clip2.enums.RotationEventType;
20
21 /**
22  * DTO for CLIP 2 relative rotary report.
23  *
24  * @author Jacob Laursen - Initial contribution
25  */
26 @NonNullByDefault
27 public class RotaryReport {
28     private @NonNullByDefault({}) Instant updated;
29     private @Nullable String action;
30     private @Nullable Rotation rotation;
31
32     /**
33      * @return last time the value of this property is changed.
34      */
35     public Instant getLastChanged() {
36         return updated;
37     }
38
39     /**
40      * @return which type of rotary event is received
41      */
42     public @Nullable RotationEventType getAction() {
43         String action = this.action;
44         return action == null ? null : RotationEventType.valueOf(action.toUpperCase());
45     }
46
47     public @Nullable Rotation getRotation() {
48         return rotation;
49     }
50 }