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 }