-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathParameter.java
More file actions
66 lines (51 loc) · 1.21 KB
/
Copy pathParameter.java
File metadata and controls
66 lines (51 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package jaskell.script;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
public class Parameter<T> implements Directive {
private Optional<T> _value = null;
private Object _key;
private int _order;
private Class<T> _cls;
private String _placeHolder;
protected Parameter(){}
public Parameter(String placeHolder, Object key, Class<T> cls){
this._placeHolder = placeHolder;
_key = key;
_cls = cls;
}
public T value(){
return _value.orElse(null);
}
public void value(T v){
_value = Optional.ofNullable(v);
}
public boolean confirmed(){
return _value != null;
}
public String placeHolder(){
return _placeHolder;
}
public Class<T> valueClass(){
return _cls;
}
public Object key(){
return _key;
}
public int order(){
return _order;
}
public void order(int o){
this._order = o;
}
@Override
public String script() {
return _placeHolder;
}
@Override
public List<Parameter<?>> parameters() {
List<Parameter<?>> re = new ArrayList<>();
re.add(this);
return re;
}
}