/*
* Copyright (C) 2010-2012 Stichting Akvo (Akvo Foundation)
*
* This file is part of Akvo FLOW.
*
* Akvo FLOW is free software: you can redistribute it and modify it under the terms of
* the GNU Affero General Public License (AGPL) as published by the Free Software Foundation,
* either version 3 of the License or any later version.
*
* Akvo FLOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License included below for more details.
*
* The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>.
*/
package com.gallatinsystems.common.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Properties;
/**
* Singleton for accessing system properties.
*
* @author Dru Borden
*/
public class PropertyUtil {
private static Properties props = null;
private PropertyUtil() {
initProperty();
}
/**
* initializes the static instance with the contents of System.properties
*/
private void initProperty() {
if (props == null) {
props = System.getProperties();
}
}
/**
* returns the value of a single property (or null if not found)
*
* @param propertyName
* @return
*/
public static String getProperty(String propertyName) {
if (props == null) {
new PropertyUtil();
}
return props.getProperty(propertyName);
}
/**
* returns a copy of the the properties map
*
* @param keyList
* @return
*/
public static HashMap<String, String> getPropertiesMap(
ArrayList<String> keyList) {
HashMap<String, String> propertyMap = new HashMap<String, String>();
for (String key : keyList) {
String value = props.getProperty(key);
propertyMap.put(key, value);
}
return propertyMap;
}
}