public void addParameters()

in ti/phase2/jars/core/src/java/org/apache/ti/core/urls/MutableURI.java [562:609]


    public void addParameters(Map newParams, boolean encoded) {
        if (newParams == null) {
            throw new IllegalArgumentException("Cannot add null map of parameters.");
        }

        if (newParams.size() == 0) {
            return;
        }

        if (_params == null) {
            _params = new LinkedHashMap/*< String, List< String > >*/();
        }

        Iterator keys = newParams.keySet().iterator();
        while (keys.hasNext()) {
            String name = (String) keys.next();
            String encodedName = name;

            if (!encoded) {
                encodedName = encode(name);
            }

            List/*< String >*/ values = (List) _params.get(encodedName);
            if (values == null) {
                values = new ArrayList/*< String >*/();
                _params.put(encodedName, values);
            }

            Object newValue = newParams.get(name);
            if (newValue == null) {
                values.add(null);
            } else if (newValue instanceof String) {
                addValue(values, (String) newValue, encoded);
            } else if (newValue instanceof String[]) {
                String newValues[] = (String[]) newValue;
                for (int i = 0; i < newValues.length; i++) {
                    addValue(values, newValues[i], encoded);
                }
            } else if (newValue instanceof List) {
                Iterator newValues = ((List) newValue).iterator();
                while (newValues.hasNext()) {
                    addValue(values, newValues.next().toString(), encoded);
                }
            } else /* Convert other objects to a string */ {
                addValue(values, newValue.toString(), encoded);
            }
        }
    }