Show
Ignore:
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java

    r26 r16  
    11package cz.frantovo.sql.vyuka.dto; 
    22 
     3import cz.frantovo.sql.vyuka.Html; 
    34import java.util.ArrayList; 
    45import java.util.Collection; 
     
    89 * @author fiki 
    910 */ 
    10 public class Tabulka { 
     11public class Tabulka implements HtmlObjekt { 
    1112 
    1213    private String[] zahlavi; 
    13     private String zahlaviTip; 
    1414    private Collection<Object[]> hodnoty = new ArrayList<Object[]>(); 
    15     /** Zda se má lokalizovat záhlaví tabulky a její tip. */ 
    16     private boolean lokalizovat = false; 
     15 
     16    public String getHtml() { 
     17 
     18        if (getZahlavi() == null || getHodnoty() == null || getZahlavi().length < 1) { 
     19            return "<p>Chybná tabulka</p>"; 
     20        } else { 
     21 
     22            StringBuffer html = new StringBuffer(); 
     23 
     24            html.append("<table>"); 
     25 
     26 
     27            html.append("<thead title=\"Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.\">"); 
     28            html.append("<tr>"); 
     29            for (String z : getZahlavi()) { 
     30                html.append("<td>" + Html.escapuj(z) + "</td>"); 
     31            } 
     32            html.append("</tr>"); 
     33            html.append("</thead>"); 
     34 
     35 
     36            html.append("<tbody>"); 
     37            for (Object[] hh : getHodnoty()) { 
     38                html.append("<tr>"); 
     39                for (Object h : hh) { 
     40                    html.append(formatujBunku(h)); 
     41                } 
     42                html.append("</tr>"); 
     43            } 
     44            html.append("</tbody>"); 
     45 
     46            html.append("</table>"); 
     47 
     48 
     49            return html.toString(); 
     50        } 
     51    } 
     52 
     53    private String formatujBunku(Object o) { 
     54        /** TODO: podporovat i jiné typy */ 
     55        if (o instanceof Integer) { 
     56            return "<td class=\"cislo\">" + Html.escapuj(String.valueOf(o)) + "</td>"; 
     57        } else { 
     58            return "<td>" + Html.escapuj(String.valueOf(o)) + "</td>"; 
     59        } 
     60    } 
    1761 
    1862    public String[] getZahlavi() { 
     
    2468    } 
    2569 
    26     public String getZahlaviTip() { 
    27         return zahlaviTip; 
    28     } 
    29  
    30     public void setZahlaviTip(String zahlaviTip) { 
    31         this.zahlaviTip = zahlaviTip; 
    32     } 
    33  
    3470    public Collection<Object[]> getHodnoty() { 
    3571        return hodnoty; 
    3672    } 
    37  
    38     /** 
    39      * Zda se má lokalizovat záhlaví tabulky a její tip. 
    40      * @return the lokalizovat 
    41      */ 
    42     public boolean isLokalizovat() { 
    43         return lokalizovat; 
    44     } 
    45  
    46     /** 
    47      * Zda se má lokalizovat záhlaví tabulky a její tip. 
    48      * @param lokalizovat the lokalizovat to set 
    49      */ 
    50     public void setLokalizovat(boolean lokalizovat) { 
    51         this.lokalizovat = lokalizovat; 
    52     } 
    5373}