]> git.basschouten.com Git - openhab-addons.git/blob
f7babcc90e5a29641e4ec5a707ac42c9e559d5b0
[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.rotel.internal;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16
17 /**
18  * Represents the different repeat modes
19  *
20  * @author Laurent Garnier - Initial contribution
21  */
22 @NonNullByDefault
23 public enum RotelRepeatMode {
24     TRACK,
25     DISC,
26     OFF;
27
28     /**
29      * Get the repeat mode from its name
30      *
31      * @param name the searched name (case is ignored)
32      *
33      * @return the repeat mode associated to the searched name
34      *
35      * @throws RotelException - If no repeat mode is associated to the searched name
36      */
37     public static RotelRepeatMode getFromName(String name) throws RotelException {
38         for (RotelRepeatMode value : RotelRepeatMode.values()) {
39             if (value.name().equalsIgnoreCase(name)) {
40                 return value;
41             }
42         }
43         throw new RotelException("Invalid name for a repeat mode: " + name);
44     }
45 }