// Path: src/net/i2p/itoopie/i18n/Transl.java
// public class Transl {
//     
//     public static final String BUNDLE_NAME = "net.i2p.itoopie.messages";
//      
//     
//     public static String _t(String s) {
//         return Translate.getString(s, BUNDLE_NAME);
//     }
// 
//     
//     /**
//      *  translate a string with a parameter
//      *  This is a lot more expensive than getString(s, ctx), so use sparingly.
//      *
//      *  @param s string to be translated containing {0}
//      *    The {0} will be replaced by the parameter.
//      *    Single quotes must be doubled, i.e. ' -> '' in the string.
//      *  @param o parameter, not translated.
//      *    To tranlslate parameter also, use _t("foo {0} bar", _t("baz"))
//      *    Do not double the single quotes in the parameter.
//      *    Use autoboxing to call with ints, longs, floats, etc.
//      */
//     public static String _t(String s, Object o) {
//         return Translate.getString(s, o, BUNDLE_NAME);
//     }
//     
//     /** for {0} and {1} */
//     public static String _t(String s, Object o, Object o2){
//     	return Translate.getString(s, o, o2, BUNDLE_NAME);
//     }
//     
//     /**
//      *  Use GNU ngettext
//      *  For .po file format see http://www.gnu.org/software/gettext/manual/gettext.html.gz#Translating-plural-forms
//      *
//      *  @param n how many
//      *  @param s singluar string, optionally with {0} e.g. "one tunnel"
//      *  @param p plural string optionally with {0} e.g. "{0} tunnels"
//      */
//     public static String _t(int n, String s, String p) {
//     	return Translate.getString( n, s, p, BUNDLE_NAME);
//     }
// 	
// }


import java.util.HashMap;
import net.i2p.itoopie.i18n.Transl;
package net.i2p.itoopie.i2pcontrol.methods;




/**
 * Describes the ways a I2P router operation can be altered.
 * @author hottuna
 */
public class I2PControl{
	private final static HashMap<String,I2P_CONTROL> enumMap;
	private static final HashMap<String, ADDRESSES> reverseAddressMap;
	private interface Address { public String getAddress();}
	
	/**
	 * Describes the ways a I2P router operation can be altered.
	 * @author hottuna
	 */
	public enum I2P_CONTROL implements Remote{
		PASSWORD { 			public boolean isReadable(){ return false;}
							public boolean isWritable(){ return true;}  
							public String toString() { return "i2pcontrol.password"; }},
						
		PORT { 				public boolean isReadable(){ return false;}	
							public boolean isWritable(){ return true;}  
							public String toString() { return "i2pcontrol.port"; }},
							
		ADDRESS { 			public boolean isReadable(){ return true;}	
							public boolean isWritable(){ return true;}  
							public String toString() { return "i2pcontrol.address"; }}
							
							
	};
	public enum ADDRESSES implements Address {
		
		LOCAL { 			public String getAddress(){ return "127.0.0.1";}
// Path: src/net/i2p/itoopie/i18n/Transl.java
// public class Transl {
//     
//     public static final String BUNDLE_NAME = "net.i2p.itoopie.messages";
//      
//     
//     public static String _t(String s) {
//         return Translate.getString(s, BUNDLE_NAME);
//     }
// 
//     
//     /**
//      *  translate a string with a parameter
//      *  This is a lot more expensive than getString(s, ctx), so use sparingly.
//      *
//      *  @param s string to be translated containing {0}
//      *    The {0} will be replaced by the parameter.
//      *    Single quotes must be doubled, i.e. ' -> '' in the string.
//      *  @param o parameter, not translated.
//      *    To tranlslate parameter also, use _t("foo {0} bar", _t("baz"))
//      *    Do not double the single quotes in the parameter.
//      *    Use autoboxing to call with ints, longs, floats, etc.
//      */
//     public static String _t(String s, Object o) {
//         return Translate.getString(s, o, BUNDLE_NAME);
//     }
//     
//     /** for {0} and {1} */
//     public static String _t(String s, Object o, Object o2){
//     	return Translate.getString(s, o, o2, BUNDLE_NAME);
//     }
//     
//     /**
//      *  Use GNU ngettext
//      *  For .po file format see http://www.gnu.org/software/gettext/manual/gettext.html.gz#Translating-plural-forms
//      *
//      *  @param n how many
//      *  @param s singluar string, optionally with {0} e.g. "one tunnel"
//      *  @param p plural string optionally with {0} e.g. "{0} tunnels"
//      */
//     public static String _t(int n, String s, String p) {
//     	return Translate.getString( n, s, p, BUNDLE_NAME);
//     }
// 	
// }


// Path: src/net/i2p/itoopie/i2pcontrol/methods/I2PControl.java
import java.util.HashMap;
import net.i2p.itoopie.i18n.Transl;

package net.i2p.itoopie.i2pcontrol.methods;




/**
 * Describes the ways a I2P router operation can be altered.
 * @author hottuna
 */
public class I2PControl{
	private final static HashMap<String,I2P_CONTROL> enumMap;
	private static final HashMap<String, ADDRESSES> reverseAddressMap;
	private interface Address { public String getAddress();}
	
	/**
	 * Describes the ways a I2P router operation can be altered.
	 * @author hottuna
	 */
	public enum I2P_CONTROL implements Remote{
		PASSWORD { 			public boolean isReadable(){ return false;}
							public boolean isWritable(){ return true;}  
							public String toString() { return "i2pcontrol.password"; }},
						
		PORT { 				public boolean isReadable(){ return false;}	
							public boolean isWritable(){ return true;}  
							public String toString() { return "i2pcontrol.port"; }},
							
		ADDRESS { 			public boolean isReadable(){ return true;}	
							public boolean isWritable(){ return true;}  
							public String toString() { return "i2pcontrol.address"; }}
							
							
	};
	public enum ADDRESSES implements Address {
		
		LOCAL { 			public String getAddress(){ return "127.0.0.1";}
							public String toString(){ return Transl._t("local host (127.0.0.1)"); }},