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 }