View Javadoc

1   //
2   //  ========================================================================
3   //  Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd.
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  package org.eclipse.jetty.maven.plugin;
20  
21  /**
22   * SystemProperty
23   * 
24   * Provides the ability to set System properties
25   * for the mojo execution. A value will only 
26   * be set if it is not set already. That is, if
27   * it was set on the command line or by the system,
28   * it won't be overridden by settings in the 
29   * plugin's configuration.
30   *
31   */
32  public class SystemProperty
33  {
34  
35  
36      private String name;
37      private String value;
38      private boolean isSet;
39      
40      /**
41       * @return Returns the name.
42       */
43      public String getName()
44      {
45          return this.name;
46      }
47      /**
48       * @param name The name to set.
49       */
50      public void setName(String name)
51      {
52          this.name = name;
53      }
54  
55      public String getKey()
56      {
57          return this.name;
58      }
59  
60      public void setKey (String name)
61      {
62          this.name = name;
63      }
64      /**
65       * @return Returns the value.
66       */
67      public String getValue()
68      {
69          return this.value;
70      }
71      /**
72       * @param value The value to set.
73       */
74      public void setValue(String value)
75      {
76          this.value = value;
77      }
78  
79      
80      public boolean isSet ()
81      {
82          return isSet;
83      }
84      
85      /** Set a System.property with this value
86       * if it is not already set.
87       */
88      void setIfNotSetAlready()
89      {
90          if (System.getProperty(getName()) == null)
91          {
92              System.setProperty(getName(), (getValue()==null?"":getValue()));
93              isSet=true;
94          }
95      }
96      
97      void setAnyway()
98      {
99          System.setProperty(getName(), (getValue()==null?"":getValue()));
100         isSet=true;
101     }
102 
103 }