All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.mapway.document.helper.html.HtmlEntry Maven / Gradle / Ivy

There is a newer version: 3.20.0
Show newest version
package cn.mapway.document.helper.html;

import cn.mapway.document.module.Entry;
import org.nutz.lang.Lang;
import org.nutz.lang.Strings;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

public class HtmlEntry {


    private static Logger logger = Logger.getLogger(HtmlEntry.class.toGenericString());

    StringBuilder html;

    public HtmlEntry(Entry entry) {

        html = new StringBuilder();
        parse(entry);
    }

    public void parse(Entry entry) {

        html = new StringBuilder();
        html.append("");
        html.append("

" + entry.title + "

"); html.append("
访问地址:" + entry.url + "
"); html.append("
调用方法:" + Lang.concat(",", entry.invokeMethods) + "
"); if (!Strings.isBlank(entry.summary)) { html.append("
").append(entry.summary).append("
"); } List objList = new ArrayList<>(); html.append("
输入参数
"); ObjTable inputPara = new ObjTable(); GetPanel panel = new GetPanel(); panel.parse(entry); html.append(panel.toString()); if (entry.input.size() > 0) { inputPara.parse(entry.input.get(0), objList); html.append(inputPara.toString()); JsonPanel jp = new JsonPanel(); jp.parse(entry.input.get(0).json); html.append(jp.toString()); } html.append("
"); html.append("
输出参数
"); Outputparam op = new Outputparam(); op.parse(entry, objList); html.append(op.toString()); JsonPanel jp = new JsonPanel(); jp.parse(entry.output.json); html.append(jp.toString()); html.append("
"); exportAllObject(html, objList); } private void exportAllObject(StringBuilder html, List gens) { while (needContinue(gens)) { List gens2 = new ArrayList(); for (GenInfo info : gens) { if (info.gen == false) { ObjTable p = new ObjTable(); p.parse(info.obj, gens2); html.append("
 
"); html.append("
"); html.append(p.toString()); info.gen = true; } } merge(gens, gens2); } } /** * Merge. * * @param gens the gens * @param gens2 the gens 2 */ private void merge(List gens, List gens2) { for (GenInfo info : gens2) { boolean find = false; for (GenInfo gen : gens) { if (gen.type.equals(info.type)) { find = true; break; } } if (find == false) { gens.add(info); } } } /** * Need continue. * * @param gens2 the gens 2 * @return true, if successful */ private boolean needContinue(List gens2) { for (GenInfo info : gens2) { if (info.gen == false) { return true; } } return false; } public String toHTML() { return html.toString(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy