1 //======================================================================== 2 //$Id: SystemProperties.java 4440 2009-02-09 07:49:11Z ayao $ 3 //Copyright 2008 Mort Bay Consulting Pty. Ltd. 4 //------------------------------------------------------------------------ 5 //Licensed under the Apache License, Version 2.0 (the "License"); 6 //you may not use this file except in compliance with the License. 7 //You may obtain a copy of the License at 8 //http://www.apache.org/licenses/LICENSE-2.0 9 //Unless required by applicable law or agreed to in writing, software 10 //distributed under the License is distributed on an "AS IS" BASIS, 11 //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 //See the License for the specific language governing permissions and 13 //limitations under the License. 14 //======================================================================== 15 16 package org.mortbay.jetty.plugin.util; 17 18 import java.util.ArrayList; 19 import java.util.HashMap; 20 import java.util.List; 21 import java.util.Map; 22 23 /** 24 * SystemProperties 25 * 26 * Map of name to SystemProperty. 27 * 28 * When a SystemProperty instance is added, if it has not 29 * been already set (eg via the command line java system property) 30 * then it will be set. 31 */ 32 public class SystemProperties 33 { 34 Map properties; 35 36 public SystemProperties() 37 { 38 properties = new HashMap(); 39 } 40 41 public void setSystemProperty (SystemProperty prop) 42 { 43 properties.put(prop.getName(), prop); 44 prop.setIfNotSetAlready(); 45 } 46 47 public SystemProperty getSystemProperty(String name) 48 { 49 return (SystemProperty)properties.get(name); 50 } 51 52 public boolean containsSystemProperty(String name) 53 { 54 return properties.containsKey(name); 55 } 56 57 public List getSystemProperties () 58 { 59 return new ArrayList(properties.values()); 60 } 61 }