66
77import javax .annotation .ParametersAreNonnullByDefault ;
88
9+ import com .google .common .base .Preconditions ;
910import com .google .common .collect .Maps ;
1011
1112import tech .ydb .proto .ValueProtos .TypedValue ;
1213import tech .ydb .table .values .Type ;
1314import tech .ydb .table .values .Value ;
14-
15- import static com .google .common .base .Preconditions .checkArgument ;
16- import static tech .ydb .table .values .proto .ProtoValue .toTypedValue ;
15+ import tech .ydb .table .values .proto .ProtoValue ;
1716
1817
1918/**
2322 */
2423@ ParametersAreNonnullByDefault
2524final class ParamsImmutableMap implements Params {
25+ static final ParamsImmutableMap EMPTY = new ParamsImmutableMap (new HashMap <>());
26+ private static final long serialVersionUID = -4446062098045167272L ;
2627
27- static final ParamsImmutableMap EMPTY = new ParamsImmutableMap (Collections .emptyMap ());
28-
29- private final Map <String , Value <?>> params ;
28+ private final HashMap <String , Value <?>> params ;
3029
31- private ParamsImmutableMap (Map <String , Value <?>> params ) {
30+ private ParamsImmutableMap (HashMap <String , Value <?>> params ) {
3231 this .params = params ;
3332 }
3433
3534 static ParamsImmutableMap create (String name , Value <?> value ) {
36- return new ParamsImmutableMap (Collections .singletonMap (name , value ));
35+ HashMap <String , Value <?>> params = Maps .newHashMapWithExpectedSize (1 );
36+ params .put (name , value );
37+ return new ParamsImmutableMap (params );
3738 }
3839
3940 static ParamsImmutableMap create (String name1 , Value <?> value1 , String name2 , Value <?> value2 ) {
40- checkArgument (!name1 .equals (name2 ), "parameter duplicate: %s" , name1 );
41+ Preconditions . checkArgument (!name1 .equals (name2 ), "parameter duplicate: %s" , name1 );
4142 HashMap <String , Value <?>> params = Maps .newHashMapWithExpectedSize (2 );
4243 params .put (name1 , value1 );
4344 params .put (name2 , value2 );
44- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
45+ return new ParamsImmutableMap (params );
4546 }
4647
4748 static ParamsImmutableMap create (
@@ -52,7 +53,7 @@ static ParamsImmutableMap create(
5253 params .put (name1 , value1 );
5354 putParam (params , name2 , value2 );
5455 putParam (params , name3 , value3 );
55- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
56+ return new ParamsImmutableMap (params );
5657 }
5758
5859 @ SuppressWarnings ("checkstyle:ParameterNumber" )
@@ -66,7 +67,7 @@ static ParamsImmutableMap create(
6667 putParam (params , name2 , value2 );
6768 putParam (params , name3 , value3 );
6869 putParam (params , name4 , value4 );
69- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
70+ return new ParamsImmutableMap (params );
7071 }
7172
7273 @ SuppressWarnings ("checkstyle:ParameterNumber" )
@@ -82,7 +83,7 @@ static ParamsImmutableMap create(
8283 putParam (params , name3 , value3 );
8384 putParam (params , name4 , value4 );
8485 putParam (params , name5 , value5 );
85- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
86+ return new ParamsImmutableMap (params );
8687 }
8788
8889 @ SuppressWarnings ("checkstyle:ParameterNumber" )
@@ -100,7 +101,7 @@ static ParamsImmutableMap create(
100101 putParam (params , name4 , value4 );
101102 putParam (params , name5 , value5 );
102103 putParam (params , name6 , value6 );
103- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
104+ return new ParamsImmutableMap (params );
104105 }
105106
106107 @ SuppressWarnings ("checkstyle:ParameterNumber" )
@@ -120,7 +121,7 @@ static ParamsImmutableMap create(
120121 putParam (params , name5 , value5 );
121122 putParam (params , name6 , value6 );
122123 putParam (params , name7 , value7 );
123- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
124+ return new ParamsImmutableMap (params );
124125 }
125126
126127 @ SuppressWarnings ("checkstyle:ParameterNumber" )
@@ -142,7 +143,7 @@ static ParamsImmutableMap create(
142143 putParam (params , name6 , value6 );
143144 putParam (params , name7 , value7 );
144145 putParam (params , name8 , value8 );
145- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
146+ return new ParamsImmutableMap (params );
146147 }
147148
148149 @ SuppressWarnings ("checkstyle:ParameterNumber" )
@@ -166,11 +167,11 @@ static ParamsImmutableMap create(
166167 putParam (params , name7 , value7 );
167168 putParam (params , name8 , value8 );
168169 putParam (params , name9 , value9 );
169- return new ParamsImmutableMap (Collections . unmodifiableMap ( params ) );
170+ return new ParamsImmutableMap (params );
170171 }
171172
172173 private static void putParam (HashMap <String , Value <?>> params , String name , Value <?> value ) {
173- checkArgument (params .putIfAbsent (name , value ) == null , "parameter duplicate: %s" , name );
174+ Preconditions . checkArgument (params .putIfAbsent (name , value ) == null , "parameter duplicate: %s" , name );
174175 }
175176
176177 @ Override
@@ -187,7 +188,7 @@ public <T extends Type> Params put(String name, Value<T> value) {
187188 public Map <String , TypedValue > toPb () {
188189 Map <String , TypedValue > result = Maps .newHashMapWithExpectedSize (params .size ());
189190 for (Map .Entry <String , Value <?>> entry : params .entrySet ()) {
190- result .put (entry .getKey (), toTypedValue (entry .getValue ()));
191+ result .put (entry .getKey (), ProtoValue . toTypedValue (entry .getValue ()));
191192 }
192193 return result ;
193194 }
0 commit comments