Skip to content

Commit 47db013

Browse files
committed
Re-added EnvironmentVariableUtil. Updated version in read me.
1 parent ce5624c commit 47db013

File tree

2 files changed

+54
-1
lines changed

2 files changed

+54
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This is a Maven Library project, you can add on your Java project as a dependenc
1717
<dependency>
1818
<groupId>org.utplsql</groupId>
1919
<artifactId>utplsql-java-api</artifactId>
20-
<version>3.1.15</version>
20+
<version>3.1.16</version>
2121
</dependency>
2222
```
2323

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package org.utplsql.api;
2+
3+
import javax.annotation.Nullable;
4+
5+
/**
6+
* This class provides an easy way to get environmental variables.
7+
* This is mainly to improve testability but also to standardize the way how utPLSQL API and CLI read from
8+
* environment.
9+
* <p>
10+
* Variables are obtained from the following scopes in that order (chain breaks as soon as a value is obtained):
11+
* <ul>
12+
* <li>Properties (System.getProperty())</li>
13+
* <li>Environment (System.getEnv())</li>
14+
* <li>Default value</li>
15+
* </ul>
16+
* <p>
17+
* An empty string is treated the same as null.
18+
*
19+
* @author pesse
20+
*/
21+
public class EnvironmentVariableUtil {
22+
23+
private EnvironmentVariableUtil() {
24+
}
25+
26+
/**
27+
* Returns the value for a given key from environment (see class description)
28+
*
29+
* @param key Key of environment or property value
30+
* @return Environment value or null
31+
*/
32+
public static String getEnvValue(String key) {
33+
return getEnvValue(key, null);
34+
}
35+
36+
/**
37+
* Returns the value for a given key from environment or a default value (see class description)
38+
*
39+
* @param key Key of environment or property value
40+
* @param defaultValue Default value if nothing found
41+
* @return Environment value or defaultValue
42+
*/
43+
public static String getEnvValue(String key, @Nullable String defaultValue) {
44+
45+
String val = System.getProperty(key);
46+
if (val == null || val.isEmpty()) val = System.getenv(key);
47+
if (val == null || val.isEmpty()) val = defaultValue;
48+
49+
return val;
50+
}
51+
52+
53+
}

0 commit comments

Comments
 (0)