package com.akjava.lib.common.functions;
import java.util.List;
import com.google.common.base.Function;
public class HtmlFunctions {
//utility
public static StringToTHFunction getStringToTHFunction(){
return StringToTHFunction.INSTANCE;
}
public enum StringToTHFunction implements Function<String,String >{
INSTANCE;
@Override
public String apply(String value) {
return "<th>"+value+"</th>";
}
}
public static StringToTDFunction getStringToTDFunction(){
return StringToTDFunction.INSTANCE;
}
public enum StringToTDFunction implements Function<String,String >{
INSTANCE;
@Override
public String apply(String value) {
return "<td>"+value+"</td>";
}
}
public static StringToTRTDFunction getStringToTRTDFunction(){
return StringToTRTDFunction.INSTANCE;
}
public enum StringToTRTDFunction implements Function<List<List<String>>,String >{
INSTANCE;
@Override
public String apply(List<List<String>> value) {
if(value.size()==0){
return "";
}
List<String> first=value.get(0);
int rowCount=first.size();
if(rowCount==0){
return "";
}
StringBuffer buffer=new StringBuffer();
//all list must be same size
int columnCount=value.size();
for(int j=0;j<rowCount;j++){
buffer.append("<tr>\n");
for(int i=0;i<columnCount;i++){
buffer.append("<td>\n");
buffer.append(value.get(i).get(j));
buffer.append("</td>\n");
}
buffer.append("</tr>\n");
}
return buffer.toString();
}
}
}