private void writeParameterDetails()

in maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java [422:495]


    private void writeParameterDetails(List<Parameter> parameterList, XMLWriter w, String goal) {
        w.startElement("subsection");
        w.addAttribute("name", getString("pluginxdoc.mojodescriptor.parameter.details"));

        for (Iterator<Parameter> parameters = parameterList.iterator(); parameters.hasNext(); ) {
            Parameter parameter = parameters.next();

            w.startElement("h4");
            w.writeMarkup(format("pluginxdoc.mojodescriptor.parameter.name_internal", parameter.getName()));
            w.endElement();

            String context = "Parameter " + parameter.getName() + " in goal " + goal;
            if (StringUtils.isNotEmpty(parameter.getDeprecated())) {
                w.startElement("div");
                String deprecated = getXhtmlWithValidatedLinks(parameter.getDeprecated(), context);
                w.writeMarkup(format("pluginxdoc.mojodescriptor.parameter.deprecated", deprecated));
                w.endElement(); // div
            }

            w.startElement("div");
            if (StringUtils.isNotEmpty(parameter.getDescription())) {
                w.writeMarkup(getXhtmlWithValidatedLinks(parameter.getDescription(), context));
            } else {
                w.writeMarkup(getString("pluginxdoc.nodescription"));
            }
            w.endElement(); // div

            boolean addedUl = false;
            addedUl = addUl(w, addedUl, parameter.getType());
            String typeValue = getLinkedType(parameter, false);
            writeDetail(getString("pluginxdoc.mojodescriptor.parameter.type"), typeValue, w);

            if (StringUtils.isNotEmpty(parameter.getSince())) {
                addedUl = addUl(w, addedUl);
                writeDetail(getString("pluginxdoc.mojodescriptor.parameter.since"), parameter.getSince(), w);
            }

            if (parameter.isRequired()) {
                addedUl = addUl(w, addedUl);
                writeDetail(getString("pluginxdoc.mojodescriptor.parameter.required"), getString("pluginxdoc.yes"), w);
            } else {
                addedUl = addUl(w, addedUl);
                writeDetail(getString("pluginxdoc.mojodescriptor.parameter.required"), getString("pluginxdoc.no"), w);
            }

            String expression = parameter.getExpression();
            addedUl = addUl(w, addedUl, expression);
            String property = getPropertyFromExpression(expression);
            if (property == null) {
                writeDetail(getString("pluginxdoc.mojodescriptor.parameter.expression"), expression, w);
            } else {
                writeDetail(getString("pluginxdoc.mojodescriptor.parameter.property"), property, w);
            }

            addedUl = addUl(w, addedUl, parameter.getDefaultValue());
            writeDetail(
                    getString("pluginxdoc.mojodescriptor.parameter.default"),
                    escapeXml(parameter.getDefaultValue()),
                    w);

            addedUl = addUl(w, addedUl, parameter.getAlias());
            writeDetail(getString("pluginxdoc.mojodescriptor.parameter.alias"), escapeXml(parameter.getAlias()), w);

            if (addedUl) {
                w.endElement(); // ul
            }

            if (parameters.hasNext()) {
                w.writeMarkup("<hr/>");
            }
        }

        w.endElement();
    }