1 /*
2 Copyright (C) 2007 Dirk Huenniger
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19 package org.indi.objects;
20
21 /**
22 * Constants describing the read/write permission given to the user of a
23 * particular indi vector
24 *
25 * @author Dirk Hünniger
26 *
27 */
28 public enum Permission {
29 ReadOnly, WriteOnly, ReadWrite;
30 /**
31 * Generate a Permission constant from a string used by the indi protocol
32 *
33 * @param in
34 * the string used by the indi protocol
35 * @return the permission constant coresponding to the given string
36 */
37 public static Permission fromString(String in) {
38 if (in.equals("ro")) {
39 return Permission.ReadOnly;
40 }
41 if (in.equals("rw")) {
42 return Permission.ReadWrite;
43 }
44 if (in.equals("wo")) {
45 return Permission.WriteOnly;
46 }
47 throw new RuntimeException();
48 };
49 }