3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.Properties;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
11 * Loads the PCMM Properties file.
14 public class PCMMProperties implements PCMMConstants {
16 private static Properties properties;
17 private static Logger logger = LoggerFactory.getLogger(PCMMProperties.class);
21 InputStream in = PCMMProperties.class.getClassLoader().getResourceAsStream("pcmm.properties");
22 properties = new Properties();
25 } catch (IOException ie) {
26 logger.error(ie.getMessage());
30 protected static String get(String key) {
31 return properties.getProperty(key);
34 @SuppressWarnings("unchecked")
35 public static <T> T get(String key, Class<T> type, Object _default) {
36 String prop = get(key);
37 if (prop != null && !prop.isEmpty()) {
38 if (Boolean.class.isAssignableFrom(type))
39 return (T) Boolean.valueOf(prop);
40 else if (Integer.class.isAssignableFrom(type))
41 return (T) Integer.valueOf(prop);
42 else if (Short.class.isAssignableFrom(type))
43 return (T) Short.valueOf(prop);
44 if (Float.class.isAssignableFrom(type))
45 return (T) Float.valueOf(prop);
46 if (Long.class.isAssignableFrom(type))
47 return (T) Long.valueOf(prop);
48 if (Double.class.isAssignableFrom(type))
49 return (T) Double.valueOf(prop);
50 else if (String.class.isAssignableFrom(type))
56 public static <T> T get(String key, Class<T> type) {
57 return get(key, type, null);