View Javadoc

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  }