reactivefeign.utils.MultiValueMapUtils Maven / Gradle / Ivy
/**
* Copyright 2018 The Feign Authors
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package reactivefeign.utils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public class MultiValueMapUtils {
public static void addAllOrdered(Map> multiMap, K key, List values) {
multiMap.compute(key, (key_, values_) -> {
List valuesMerged = values_ != null ? values_ : new ArrayList<>(values.size());
valuesMerged.addAll(values);
return valuesMerged;
});
}
public static void addOrdered(Map> multiMap, K key, V value) {
multiMap.compute(key, (key_, values_) -> {
List valuesMerged = values_ != null ? values_ : new ArrayList<>(1);
valuesMerged.add(value);
return valuesMerged;
});
}
public static void addAll(Map> multiMap, K key, Collection values) {
multiMap.compute(key, (key_, values_) -> {
Collection valuesMerged = values_ != null ? values_ : new ArrayList<>(values.size());
valuesMerged.addAll(values);
return valuesMerged;
});
}
public static void add(Map> multiMap, K key, V value) {
multiMap.compute(key, (key_, values_) -> {
Collection valuesMerged = values_ != null ? values_ : new ArrayList<>(1);
valuesMerged.add(value);
return valuesMerged;
});
}
}