@Override @SuppressWarnings("unchecked") public List<V> extractValue(Map<?,?> vals, ExecutionContext exec) { List<V> result = Lists.newArrayList(); for (Object k : vals.keySet()) { if (isSubKey(k)) result.add( ((SubElementConfigKey<V>) k).extractValue(vals, exec) ); } return Collections.unmodifiableList(result); }
@Override @SuppressWarnings("unchecked") public Set<V> extractValue(Map<?,?> vals, ExecutionContext exec) { Set<V> result = Sets.newLinkedHashSet(); for (Object k : vals.keySet()) { if (isSubKey(k)) result.add( ((SubElementConfigKey<V>) k).extractValue(vals, exec) ); } return Collections.unmodifiableSet(result); }
@Override public Map<String,V> extractValue(Map<?,?> vals, ExecutionContext exec) { Map<String,V> result = Maps.newLinkedHashMap(); for (Map.Entry<?,?> entry : vals.entrySet()) { Object k = entry.getKey(); if (isSubKey(k)) { @SuppressWarnings("unchecked") SubElementConfigKey<V> subk = (SubElementConfigKey<V>) k; result.put(extractSubKeyName(subk), (V) subk.extractValue(vals, exec)); } } return Collections.unmodifiableMap(result); } /** returns the entries in the map against this config key and any sub-config-keys, without resolving