public String getHeader(String name) { String value = analyzer.getProperty(name); if (headers.containsKey(name)) { // // Remove duplicates and sort // Set<String> set = new TreeSet<>(headers.get(name)); List<String> result = new ArrayList<>(set.size() + 1); if (value != null && !set.contains(value)) result.add(value); // analyzer value at start of list result.addAll(set); return Strings.join(result); } return value; }
private void init(Parameters augments) throws Exception { MultiMap<Requirement, Augment> operations = new MultiMap<>(); for (Map.Entry<String, Attrs> e : augments.entrySet()) { String bsn = e.getKey(); Attrs attrs = e.getValue(); createAugmentOperation(operations, bsn, attrs); } Map<Requirement, Collection<Capability>> allBundles = repository.findProviders(operations.keySet()); for (Entry<Requirement, List<Augment>> e : operations.entrySet()) { executeAugmentOperations(allBundles, e.getKey(), e.getValue()); } }
public Iterator<V> all() { return new Iterator<V>() { Iterator<List<V>> master = values().iterator(); Iterator<V> current = null; public boolean hasNext() { if (current == null || !current.hasNext()) { if (master.hasNext()) { current = master.next().iterator(); return current.hasNext(); } return false; } return true; } public V next() { return current.next(); } public void remove() { current.remove(); } }; }
private void valueToProperty(String name, Object value, boolean isClass, Class<?> typeClass) { if (isClass) value = ((TypeRef) value).getFQN(); if (typeClass == null) typeClass = value.getClass(); // enums already come out as the enum name, no // processing needed. //String type = typeClass.getSimpleName(); String type = typeClass.getName(); propertyTypes.put(name, typeClass); props.add(name, value.toString()); }
/** * Return a collection with all values * @return */ public List<V> allValues() { List<V> result = new ArrayList<V>(); Iterator<V> i = all(); while( i.hasNext()) result.add(i.next()); return result; }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Map<Requirement, Collection<Capability>> findProviders(Collection<? extends Requirement> requirements) { MultiMap<Requirement, Capability> result = new MultiMap<>(); for (Repository repository : repositories) { Map<Requirement, Collection<Capability>> capabilities = repository.findProviders(requirements); result.addAll(capabilities); } return (Map) result; }
public boolean addAll(Map<K, ? extends Collection<? extends V>> map) { boolean added = false; for (java.util.Map.Entry<K, ? extends Collection<? extends V>> e : map.entrySet()) { added |= addAll(e.getKey(), e.getValue()); } return added; }
public Map<K, V> flatten() { Map<K, V> map = new LinkedHashMap<>(); for (Map.Entry<K, List<V>> entry : entrySet()) { List<V> v = entry.getValue(); if (v == null || v.isEmpty()) continue; map.put(entry.getKey(), v.get(0)); } return map; }
PropertyDef setProperty(String key, String type, List<String> values) { requireNonNull(key); requireNonNull(type); if (!values.isEmpty()) { property.put(key, values); propertyType.put(key, type); } return this; }
public Iterator<V> iterate(K key) { assert keyClass.isInstance(key); List<V> set = get(key); if (set == null) return Collections.<V> emptyList() .iterator(); return set.iterator(); }
boolean containsKey(String key) { return property.containsKey(key); }
public String getHeader(String name) { String value = analyzer.getProperty(name); if (headers.containsKey(name)) { // // Remove duplicates and sort // Set<String> set = new TreeSet<>(headers.get(name)); List<String> result = new ArrayList<>(set.size() + 1); if (value != null && !set.contains(value)) result.add(value); // analyzer value at start of list result.addAll(set); return Strings.join(result); } return value; }
private void init(Parameters augments) throws Exception { MultiMap<Requirement, Augment> operations = new MultiMap<>(); for (Map.Entry<String, Attrs> e : augments.entrySet()) { String bsn = e.getKey(); Attrs attrs = e.getValue(); createAugmentOperation(operations, bsn, attrs); } Map<Requirement, Collection<Capability>> allBundles = repository.findProviders(operations.keySet()); for (Entry<Requirement, List<Augment>> e : operations.entrySet()) { executeAugmentOperations(allBundles, e.getKey(), e.getValue()); } }
public Iterator<V> all() { return new Iterator<V>() { Iterator<List<V>> master = values().iterator(); Iterator<V> current = null; public boolean hasNext() { if (current == null || !current.hasNext()) { if (master.hasNext()) { current = master.next().iterator(); return current.hasNext(); } return false; } return true; } public V next() { return current.next(); } public void remove() { current.remove(); } }; }