/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package pt.isel.mpd14.tohtml.layouts; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import pt.isel.mpd14.probe.Binder; import pt.isel.mpd14.tohtml.AbstractHtmlLayout; import pt.isel.mpd14.tohtml.HtmlElement; import static pt.isel.mpd14.tohtml.HtmlElement.div; import static pt.isel.mpd14.tohtml.HtmlElement.html; import static pt.isel.mpd14.tohtml.HtmlElement.p; import static pt.isel.mpd14.tohtml.HtmlElement.title; import pt.isel.mpd14.tohtml.TextNode; /** * * @author Miguel Gamboa at CCISEL */ public class SimpleLayout extends AbstractHtmlLayout{ @Override protected HtmlElement buildHeadContent(Object o) { HtmlElement title = title(); title.add(new TextNode(o.getClass().toString())); return title; } @Override protected HtmlElement buildBodyContent(Object o) { HtmlElement div = div(); try { Map<String, Object> values = Binder.getFieldsValues(o); for (Map.Entry<String, Object> entry : values.entrySet()) { String k = entry.getKey(); Object v = entry.getValue(); div.add(p(k + ": " + v)); } } catch (IllegalArgumentException | IllegalAccessException ex) { throw new RuntimeException(ex); } return div; } }