1 //======================================================================== 2 //Copyright 2006-2007 Sabre Holdings. 3 //------------------------------------------------------------------------ 4 //Licensed under the Apache License, Version 2.0 (the "License"); 5 //you may not use this file except in compliance with the License. 6 //You may obtain a copy of the License at 7 //http://www.apache.org/licenses/LICENSE-2.0 8 //Unless required by applicable law or agreed to in writing, software 9 //distributed under the License is distributed on an "AS IS" BASIS, 10 //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 //See the License for the specific language governing permissions and 12 //limitations under the License. 13 //======================================================================== 14 15 package org.mortbay.jetty.ant.types; 16 17 import java.util.ArrayList; 18 import java.util.List; 19 20 import org.apache.tools.ant.taskdefs.Property; 21 import org.mortbay.jetty.ant.utils.TaskLog; 22 23 /** 24 * Ant <systemProperties/> tag definition. 25 * 26 * @author Jakub Pawlowicz 27 */ 28 public class SystemProperties 29 { 30 31 private List systemProperties = new ArrayList(); 32 33 public List getSystemProperties() 34 { 35 return systemProperties; 36 } 37 38 public void addSystemProperty(Property property) 39 { 40 systemProperties.add(property); 41 } 42 43 /** 44 * Set a System.property with this value if it is not already set. 45 * 46 * @return 47 */ 48 public static boolean setIfNotSetAlready(Property property) 49 { 50 if (System.getProperty(property.getName()) == null) 51 { 52 System.setProperty(property.getName(), (property.getValue() == null ? "" : property 53 .getValue())); 54 TaskLog.log("Setting property '" + property.getName() + "' to value '" 55 + property.getValue() + "'"); 56 return true; 57 } 58 59 return false; 60 } 61 }