private static Map toMap()

in freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/DataModelSupplier.java [130:153]


    private static Map<String, Object> toMap(String name, Object obj, boolean isExplodedDataModel) {
        final Map<String, Object> result = new HashMap<>();

        if (obj instanceof Map) {
            final Map<String, Object> map = (Map<String, Object>) obj;
            if (isExplodedDataModel) {
                map.forEach(result::put);
            } else {
                result.put(name, map);
            }
        } else if (obj instanceof List) {
            final List<Object> list = (List<Object>) obj;
            if (isExplodedDataModel) {
                for (Object entry : list) {
                    final Map<String, Object> map = (Map<String, Object>) entry;
                    map.forEach(result::put);
                }
            } else {
                result.put(name, list);
            }
        }

        return result;
    }