0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 package org.apache.spark.network.util;
0019
0020 import java.util.Collections;
0021 import java.util.HashMap;
0022 import java.util.Map;
0023 import java.util.NoSuchElementException;
0024
0025
0026 public class MapConfigProvider extends ConfigProvider {
0027
0028 public static final MapConfigProvider EMPTY = new MapConfigProvider(Collections.emptyMap());
0029
0030 private final Map<String, String> config;
0031
0032 public MapConfigProvider(Map<String, String> config) {
0033 this.config = new HashMap<>(config);
0034 }
0035
0036 @Override
0037 public String get(String name) {
0038 String value = config.get(name);
0039 if (value == null) {
0040 throw new NoSuchElementException(name);
0041 }
0042 return value;
0043 }
0044
0045 @Override
0046 public String get(String name, String defaultValue) {
0047 String value = config.get(name);
0048 return value == null ? defaultValue : value;
0049 }
0050
0051 @Override
0052 public Iterable<Map.Entry<String, String>> getAll() {
0053 return config.entrySet();
0054 }
0055
0056 }