1 package org.sapia.ubik.rmi; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 5 import java.util.Properties ; 6 7 19 public class PropUtil { 20 21 private List _props = new ArrayList (); 22 23 27 public PropUtil addProperties(Properties props){ 28 _props.add(props); 29 return this; 30 } 31 32 38 public int getIntProperty(String key) throws NumberFormatException , IllegalArgumentException { 39 String val = lookup(key, true); 40 return Integer.parseInt(val); 41 } 42 43 50 public int getIntProperty(String key, int defaultValue) throws NumberFormatException { 51 String val = lookup(key, false); 52 if(val == null){ 53 return defaultValue; 54 } 55 return Integer.parseInt(val); 56 } 57 58 64 public long getLongProperty(String key) throws NumberFormatException , IllegalArgumentException { 65 String val = lookup(key, true); 66 return Long.parseLong(val); 67 } 68 69 76 public long getLongProperty(String key, long defaultValue) throws NumberFormatException { 77 String val = lookup(key, false); 78 if(val == null){ 79 return defaultValue; 80 } 81 return Long.parseLong(val); 82 } 83 84 85 90 public boolean getBooleanProperty(String key){ 91 String val = lookup(key, false); 92 if(val == null){ 93 return false; 94 } 95 val = val.toLowerCase(); 96 return val.equals("true") || val.equals("yes") || val.equals("yes"); 97 } 98 99 104 public boolean getBooleanProperty(String key, boolean defaultValue){ 105 String val = lookup(key, false); 106 if(val == null){ 107 return defaultValue; 108 } 109 val = val.toLowerCase(); 110 return val.equals("true") || val.equals("yes") || val.equals("yes"); 111 } 112 113 118 public String getProperty(String key){ 119 return lookup(key, false); 120 } 121 122 127 public String getProperty(String key, String defaultValue){ 128 String val = lookup(key, false); 129 if(val == null){ 130 return defaultValue; 131 } 132 return val; 133 } 134 135 private String lookup(String key, boolean throwExcIfNotFound){ 136 Properties current; 137 String val; 138 for(int i = 0; i < _props.size(); i++){ 139 current = (Properties )_props.get(i); 140 val = current.getProperty(key); 141 if(val != null){ 142 return val; 143 } 144 } 145 if(throwExcIfNotFound){ 146 throw new IllegalArgumentException ("No value found for property: " + key); 147 } 148 return null; 149 } 150 151 } 152 | Popular Tags |