private FormValues build()

in src/main/java/org/apache/sling/hapi/client/forms/internal/FormValues.java [54:82]


    private FormValues build() {
        for (Element input : form.select("button, input, select, textarea")) {
            String type = input.attr("type");

            if (input.hasAttr("disabled")) continue;
            if (input.tagName().equalsIgnoreCase("button") && !type.equals("submit")) continue;
            if (input.tagName().equalsIgnoreCase("input") && (type.equals("button") || type.equals("reset"))) continue;
            if (type.equals("checkbox") && input.hasAttr("checked")) continue;
            if (type.equals("radio") && input.hasAttr("checked")) continue;
            if (!type.equals("image") && input.attr("name").length() == 0) continue;
            if (input.parents().is("datalist")) continue;

            if (type.equals("image") || type.equals("file")) continue; // don't support files for now
            String name = input.attr("name");

            if (input.tagName().equalsIgnoreCase("select")) {
                for (Element o : input.select("option[selected]")) {
                    if (o.hasAttr("disabled")) continue;
                    list.add(name, new BasicNameValuePair(name, o.val()));
                }
            } else if (type.equals("checkbox") || type.equals("radio")) {
                String value = input.hasAttr("value") ? input.val() : "on";
                list.add(name, new BasicNameValuePair(name, value));
            } else {
                list.add(name, new BasicNameValuePair(name, input.val()));
            }
        }
        return this;
    }