Skip to content

Commit 272bb90

Browse files
committed
HV-2127 Use ImmutableCollections (List.of/Set.of/Map.of) instead of Collections.unmodifiableXxx
Signed-off-by: marko-bekhta <[email protected]>
1 parent 9c84921 commit 272bb90

File tree

2 files changed

+5
-28
lines changed

2 files changed

+5
-28
lines changed

engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/UniqueElementsValidator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static java.util.stream.Collectors.toList;
88

99
import java.util.Collection;
10+
import java.util.Collections;
1011
import java.util.List;
1112
import java.util.Set;
1213
import java.util.stream.Collectors;
@@ -53,7 +54,7 @@ public boolean isValid(Collection collection, ConstraintValidatorContext constra
5354
if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) {
5455
constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class )
5556
.addMessageParameter( "duplicates", duplicates.stream().map( String::valueOf ).collect( Collectors.joining( ", " ) ) )
56-
.withDynamicPayload( CollectionHelper.toImmutableList( duplicates ) );
57+
.withDynamicPayload( Collections.unmodifiableList( duplicates ) );
5758
}
5859

5960
return false;

engine/src/main/java/org/hibernate/validator/internal/util/CollectionHelper.java

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@
77
import java.util.ArrayList;
88
import java.util.Arrays;
99
import java.util.Collection;
10-
import java.util.Collections;
1110
import java.util.HashMap;
1211
import java.util.HashSet;
1312
import java.util.Iterator;
1413
import java.util.LinkedHashSet;
1514
import java.util.List;
1615
import java.util.Map;
17-
import java.util.Map.Entry;
1816
import java.util.Set;
1917
import java.util.concurrent.ConcurrentHashMap;
2018

@@ -96,37 +94,15 @@ public static <T> Set<T> asSet(T... ts) {
9694
}
9795

9896
public static <T> List<T> toImmutableList(List<? extends T> list) {
99-
switch ( list.size() ) {
100-
case 0:
101-
return Collections.emptyList();
102-
case 1:
103-
return Collections.singletonList( list.get( 0 ) );
104-
default:
105-
return Collections.unmodifiableList( list );
106-
}
97+
return List.copyOf( list );
10798
}
10899

109100
public static <T> Set<T> toImmutableSet(Set<? extends T> set) {
110-
switch ( set.size() ) {
111-
case 0:
112-
return Collections.emptySet();
113-
case 1:
114-
return Collections.singleton( set.iterator().next() );
115-
default:
116-
return Collections.unmodifiableSet( set );
117-
}
101+
return Set.copyOf( set );
118102
}
119103

120104
public static <K, V> Map<K, V> toImmutableMap(Map<K, V> map) {
121-
switch ( map.size() ) {
122-
case 0:
123-
return Collections.emptyMap();
124-
case 1:
125-
Entry<K, V> entry = map.entrySet().iterator().next();
126-
return Collections.singletonMap( entry.getKey(), entry.getValue() );
127-
default:
128-
return Collections.unmodifiableMap( map );
129-
}
105+
return Map.copyOf( map );
130106
}
131107

132108
/**

0 commit comments

Comments
 (0)