java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java
author František Kučera <franta-hg@frantovo.cz>
Fri May 29 00:13:11 2009 +0200 (2009-05-29)
changeset 12 1b10a6565e8c
child 13 96e711f3ef48
permissions -rw-r--r--
Propojení javascriptu a servletu.
franta-hg@12
     1
package cz.frantovo.sql.vyuka.dto;
franta-hg@12
     2
franta-hg@12
     3
import cz.frantovo.sql.vyuka.Html;
franta-hg@12
     4
import java.util.ArrayList;
franta-hg@12
     5
import java.util.Collection;
franta-hg@12
     6
franta-hg@12
     7
/**
franta-hg@12
     8
 * Tabulka, která je výsledkem SQL dotazu.
franta-hg@12
     9
 * @author fiki
franta-hg@12
    10
 */
franta-hg@12
    11
public class Tabulka implements HtmlObjekt {
franta-hg@12
    12
franta-hg@12
    13
    private String[] zahlavi;
franta-hg@12
    14
    private Collection<Object[]> hodnoty = new ArrayList<Object[]>();
franta-hg@12
    15
franta-hg@12
    16
    public String getHtml() {
franta-hg@12
    17
franta-hg@12
    18
        if (getZahlavi() == null || getHodnoty() == null || getZahlavi().length < 1) {
franta-hg@12
    19
            return "<p>Chybná tabulka</p>";
franta-hg@12
    20
        } else {
franta-hg@12
    21
franta-hg@12
    22
            StringBuffer html = new StringBuffer();
franta-hg@12
    23
franta-hg@12
    24
            html.append("<table>");
franta-hg@12
    25
franta-hg@12
    26
franta-hg@12
    27
            html.append("<thead title=\"Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.\">");
franta-hg@12
    28
            html.append("<tr>");
franta-hg@12
    29
            for (String z : getZahlavi()) {
franta-hg@12
    30
                html.append("<td>" + Html.escapuj(z) + "</td>");
franta-hg@12
    31
            }
franta-hg@12
    32
            html.append("</tr>");
franta-hg@12
    33
            html.append("</thead>");
franta-hg@12
    34
franta-hg@12
    35
franta-hg@12
    36
            html.append("<tbody>");
franta-hg@12
    37
            for (Object[] hh : getHodnoty()) {
franta-hg@12
    38
                for (Object h : hh) {
franta-hg@12
    39
                    html.append(formatujRadek(h));
franta-hg@12
    40
                }
franta-hg@12
    41
            }
franta-hg@12
    42
            html.append("</tbody>");
franta-hg@12
    43
franta-hg@12
    44
            html.append("</table>");
franta-hg@12
    45
franta-hg@12
    46
franta-hg@12
    47
            return html.toString();
franta-hg@12
    48
        }
franta-hg@12
    49
    }
franta-hg@12
    50
franta-hg@12
    51
    private String formatujRadek(Object o) {
franta-hg@12
    52
        if (o instanceof Integer) {
franta-hg@12
    53
            return "<td class=\"cislo\">" + Html.escapuj(String.valueOf(o)) + "</td>";
franta-hg@12
    54
        } else {
franta-hg@12
    55
            return "<td>" + Html.escapuj(String.valueOf(o)) + "</td>";
franta-hg@12
    56
        }
franta-hg@12
    57
    }
franta-hg@12
    58
franta-hg@12
    59
    public String[] getZahlavi() {
franta-hg@12
    60
        return zahlavi;
franta-hg@12
    61
    }
franta-hg@12
    62
franta-hg@12
    63
    public void setZahlavi(String[] zahlavi) {
franta-hg@12
    64
        this.zahlavi = zahlavi;
franta-hg@12
    65
    }
franta-hg@12
    66
franta-hg@12
    67
    public Collection<Object[]> getHodnoty() {
franta-hg@12
    68
        return hodnoty;
franta-hg@12
    69
    }
franta-hg@12
    70
franta-hg@12
    71
    public void setHodnoty(Collection<Object[]> hodnoty) {
franta-hg@12
    72
        this.hodnoty = hodnoty;
franta-hg@12
    73
    }
franta-hg@12
    74
}