Project

General

Profile

1
package eu.dnetlib.data.mapreduce;
2

    
3
import java.util.List;
4

    
5
public class OptionalConfig {
6

    
7
	private com.typesafe.config.Config config;
8

    
9
	public OptionalConfig(com.typesafe.config.Config config) {
10
		this.config = config;
11
	}
12

    
13
	protected Object safe(String path) {
14
		return config.hasPath(path) ? config.getAnyRef(path) : null;
15
	}
16

    
17
	public Integer getInt(String path) {
18
		return (Integer) safe(path);
19
	}
20

    
21
	public String getString(String path) {
22
		return (String) safe(path);
23
	}
24
	
25
	@SuppressWarnings("unchecked")
26
	public <T> List<T> getList(String path) {
27
		return (List<T>) safe(path);
28
	}	
29

    
30
	public Double getDouble(String path) {
31
		Object safe = safe(path);
32
		if (safe instanceof Integer) {
33
			return Double.parseDouble(safe.toString());
34
		}
35
		return (Double) safe;
36
	}
37

    
38
	public Object getObject(String path) {
39
		return safe(path);
40
	}
41

    
42
	public Boolean getBoolean(String path) {
43
		return (Boolean) safe(path);
44
	}
45
	
46
	public Boolean hasPath(String path) {
47
		return getConfig().hasPath(path);
48
	}
49

    
50
	public com.typesafe.config.Config getConfig() {
51
		return config;
52
	}
53

    
54
}
(3-3/3)