View Javadoc

    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  }