public static <T> Map<String, T> toMap(Collection<T> c, Function<T, String> key) { if(null == c) { return New.linkedHashMap(); } Map<String,T> map = new LinkedHashMap<>(c.size()); for(T item : c) { map.put(key.apply(item), item); } return map; }
public static <K,V> Map<K,V> buildMap(Map<K,? extends Buildable<V>> builders) { Map<K,V> m = New.linkedHashMap(); for(Entry<K, ? extends Buildable<V>> e : builders.entrySet()) { m.put(e.getKey(), e.getValue().build()); } return m; }
private Map<String, FieldMapping> createFieldNameToFieldsMap() { Map<String, FieldMapping> map = New.linkedHashMap(); for (FieldMapping fm : fieldMappings) { map.put(fm.getFieldName().toLowerCase(), fm); } return Collections.unmodifiableMap(map); }
private Map<String, FieldMapping> createColumnNameToFieldsMap() { Map<String, FieldMapping> map = New.linkedHashMap(); for (FieldMapping fm : fieldMappings) { map.put(fm.getColumn().getName().toLowerCase(), fm); } return Collections.unmodifiableMap(map); }
private Map<String, RelationMapping> createNameToRelationsMap() { Map<String, RelationMapping> map = New.linkedHashMap(); for (RelationMapping r : relationMappings) { if (map.containsKey(r.getName())) { throw new IllegalStateException("Found duplicated relation name '" + r.getName() + "' in entity '" + entityName + "'"); } map.put(r.getName(), r); } return Collections.unmodifiableMap(map); }