1 // 2 // ======================================================================== 3 // Copyright (c) 1995-2012 Sabre Holdings. 4 // ------------------------------------------------------------------------ 5 // All rights reserved. This program and the accompanying materials 6 // are made available under the terms of the Eclipse Public License v1.0 7 // and Apache License v2.0 which accompanies this distribution. 8 // 9 // The Eclipse Public License is available at 10 // http://www.eclipse.org/legal/epl-v10.html 11 // 12 // The Apache License v2.0 is available at 13 // http://www.opensource.org/licenses/apache2.0.php 14 // 15 // You may elect to redistribute this code under either of these licenses. 16 // ======================================================================== 17 // 18 19 20 package org.eclipse.jetty.ant.types; 21 22 import java.util.ArrayList; 23 import java.util.List; 24 25 import org.apache.tools.ant.taskdefs.Property; 26 import org.eclipse.jetty.ant.utils.TaskLog; 27 28 /** 29 * SystemProperties 30 * <p> 31 * Ant <systemProperties/> tag definition. 32 */ 33 public class SystemProperties 34 { 35 36 private List systemProperties = new ArrayList(); 37 38 public List getSystemProperties() 39 { 40 return systemProperties; 41 } 42 43 public void addSystemProperty(Property property) 44 { 45 systemProperties.add(property); 46 } 47 48 /** 49 * Set a System.property with this value if it is not already set. 50 * @param property the property to test 51 * @return true if property has been set 52 */ 53 public static boolean setIfNotSetAlready(Property property) 54 { 55 if (System.getProperty(property.getName()) == null) 56 { 57 System.setProperty(property.getName(), (property.getValue() == null ? "" : property 58 .getValue())); 59 TaskLog.log("Setting property '" + property.getName() + "' to value '" 60 + property.getValue() + "'"); 61 return true; 62 } 63 64 return false; 65 } 66 }