public static Map toLinkedMap()

in freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/MapBuilder.java [25:54]


    public static Map<String, Object> toLinkedMap(Object... nameValuePairs) {

        final HashMap<String, Object> map = new LinkedHashMap<>();

        if (nameValuePairs.length % 2 != 0) {
            throw new IllegalArgumentException("Odd number of arguments");
        }

        String currKey = null;
        int step = -1;

        for (Object value : nameValuePairs) {
            step++;
            switch (step % 2) {
                case 0:
                    if (value == null) {
                        throw new IllegalArgumentException("Null key value");
                    }
                    currKey = value.toString();
                    continue;
                case 1:
                    map.put(currKey, value);
                    break;
                default:
                    throw new RuntimeException("That should never happen");
            }
        }

        return map;
    }