7
7
8
8
import java .util .ArrayList ;
9
9
import java .util .Collection ;
10
- import java .util .Collections ;
11
10
import java .util .Iterator ;
12
11
import java .util .LinkedHashSet ;
13
12
import java .util .List ;
@@ -56,7 +55,7 @@ public ArrayValue add(String value) {
56
55
}
57
56
58
57
@ Override
59
- public ValueNode get (@ NonNull int index ) {
58
+ public @ NonNull ValueNode get (int index ) {
60
59
try {
61
60
return list .get (index );
62
61
} catch (IndexOutOfBoundsException x ) {
@@ -65,7 +64,7 @@ public ValueNode get(@NonNull int index) {
65
64
}
66
65
67
66
@ Override
68
- public ValueNode get (@ NonNull String name ) {
67
+ public @ NonNull ValueNode get (@ NonNull String name ) {
69
68
return new MissingValue (this .name + "." + name );
70
69
}
71
70
@@ -75,7 +74,7 @@ public int size() {
75
74
}
76
75
77
76
@ Override
78
- public String value () {
77
+ public @ NonNull String value () {
79
78
String name = name ();
80
79
throw new TypeMismatchException (name == null ? getClass ().getSimpleName () : name , String .class );
81
80
}
@@ -86,7 +85,7 @@ public String toString() {
86
85
}
87
86
88
87
@ Override
89
- public Iterator <ValueNode > iterator () {
88
+ public @ NonNull Iterator <ValueNode > iterator () {
90
89
return list .iterator ();
91
90
}
92
91
@@ -120,24 +119,24 @@ public <T> Set<T> toSet(@NonNull Class<T> type) {
120
119
}
121
120
122
121
@ Override
123
- public Map <String , List <String >> toMultimap () {
122
+ public @ NonNull Map <String , List <String >> toMultimap () {
124
123
List <String > values = new ArrayList <>();
125
- list .stream (). forEach (it -> it .toMultimap ().values ().forEach (values ::addAll ));
126
- return Collections . singletonMap (name , values );
124
+ list .forEach (it -> it .toMultimap ().values ().forEach (values ::addAll ));
125
+ return Map . of (name , values );
127
126
}
128
127
129
128
@ Override
130
- public List <String > toList () {
129
+ public @ NonNull List <String > toList () {
131
130
return collect (new ArrayList <>(), String .class );
132
131
}
133
132
134
133
@ Override
135
- public Set <String > toSet () {
134
+ public @ NonNull Set <String > toSet () {
136
135
return collect (new LinkedHashSet <>(), String .class );
137
136
}
138
137
139
138
private <T , C extends Collection <T >> C collect (C collection , Class <T > type ) {
140
- for (ValueNode node : list ) {
139
+ for (var node : list ) {
141
140
collection .add (node .to (type ));
142
141
}
143
142
return collection ;
0 commit comments