Project

General

Profile

1
package eu.dnetlib.msro.workflows;
2

    
3
import java.util.List;
4
import java.util.Map;
5

    
6
public class GraphNodeParameter {
7

    
8
	private final Object value;
9
	private final String envVariable;
10

    
11
	private GraphNodeParameter(final Object value, final String envVariable) {
12
		this.value = value;
13
		this.envVariable = envVariable;
14
	}
15

    
16
	public static GraphNodeParameter newNullParam() {
17
		return new GraphNodeParameter(null, null);
18
	}
19

    
20
	public static GraphNodeParameter newSimpleParam(final Object value) {
21
		return new GraphNodeParameter(value, null);
22
	}
23

    
24
	public static GraphNodeParameter newMapParam(final Map<String, GraphNodeParameter> map) {
25
		return new GraphNodeParameter(map, null);
26
	}
27

    
28
	public static GraphNodeParameter newListParam(final List<GraphNodeParameter> list) {
29
		return new GraphNodeParameter(list, null);
30
	}
31

    
32
	public static GraphNodeParameter newEnvParam(final String envVariable) {
33
		return new GraphNodeParameter(null, envVariable);
34
	}
35

    
36
	public Object getValue() {
37
		return this.value;
38
	}
39

    
40
	public boolean isEnvParam() {
41
		return this.envVariable != null;
42
	}
43

    
44
	public String getEnvVariable() {
45
		return this.envVariable;
46
	}
47

    
48
	public boolean isMap() {
49
		return this.value != null && (this.value instanceof Map);
50
	}
51

    
52
	public boolean isList() {
53
		return this.value != null && (this.value instanceof List);
54
	}
55

    
56
}
(4-4/9)