]> git.basschouten.com Git - openhab-addons.git/blob
e19e94c4c4788afc9ab7833b2da2fd791b3d9c0a
[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.nobohub.internal.model;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16
17 /**
18  * The type of the {@link OverridePlan}. How long does it last.
19  *
20  * @author Jørgen Austvik - Initial contribution
21  * @author Espen Fossen - Initial contribution
22  */
23 @NonNullByDefault
24 public enum OverrideType {
25
26     NOW(0),
27     TIMER(1),
28     FROM_TO(2),
29     CONSTANT(3);
30
31     private final int numValue;
32
33     OverrideType(int numValue) {
34         this.numValue = numValue;
35     }
36
37     public static OverrideType getByNumber(int value) throws NoboDataException {
38         switch (value) {
39             case 0:
40                 return NOW;
41             case 1:
42                 return TIMER;
43             case 2:
44                 return FROM_TO;
45             case 3:
46                 return CONSTANT;
47             default:
48                 throw new NoboDataException(String.format("Unknown override type %d", value));
49         }
50     }
51
52     public int getNumValue() {
53         return numValue;
54     }
55 }