| 1 | |
package liquibase.dbdoc; |
| 2 | |
|
| 3 | |
import java.io.File; |
| 4 | |
import java.io.FileWriter; |
| 5 | |
import java.io.IOException; |
| 6 | |
import java.util.SortedSet; |
| 7 | |
|
| 8 | |
public class HTMLListWriter { |
| 9 | |
private File outputDir; |
| 10 | |
private String directory; |
| 11 | |
private String filename; |
| 12 | |
private String title; |
| 13 | |
|
| 14 | 0 | public HTMLListWriter(String title, String filename, String subdir, File outputDir) { |
| 15 | 0 | this.title = title; |
| 16 | 0 | this.outputDir = outputDir; |
| 17 | 0 | this.filename = filename; |
| 18 | 0 | if (!outputDir.exists()) { |
| 19 | 0 | outputDir.mkdir(); |
| 20 | |
} |
| 21 | 0 | this.directory = subdir; |
| 22 | 0 | } |
| 23 | |
|
| 24 | |
public void writeHTML(SortedSet objects) throws IOException { |
| 25 | 0 | FileWriter fileWriter = new FileWriter(new File(outputDir, filename)); |
| 26 | |
|
| 27 | |
try { |
| 28 | 0 | fileWriter.append("<HTML>\n" + "<HEAD>\n" + "<TITLE>\n"); |
| 29 | 0 | fileWriter.append(title); |
| 30 | 0 | fileWriter.append("\n" + "</TITLE>\n" |
| 31 | |
+ "<LINK REL =\"stylesheet\" TYPE=\"text/css\" HREF=\"stylesheet.css\" TITLE=\"Style\">\n" |
| 32 | |
+ "</HEAD>\n" + "<BODY BGCOLOR=\"white\">\n" + "<FONT size=\"+1\" CLASS=\"FrameHeadingFont\">\n" |
| 33 | |
+ "<B>"); |
| 34 | 0 | fileWriter.append(title); |
| 35 | 0 | fileWriter.append("</B></FONT>\n" + "<BR>\n" + "<TABLE BORDER=\"0\" WIDTH=\"100%\" SUMMARY=\"\">" |
| 36 | |
+ "<TR>\n" + "<TD NOWRAP><FONT CLASS=\"FrameItemFont\">"); |
| 37 | |
|
| 38 | 0 | for (Object object : objects) { |
| 39 | 0 | fileWriter.append("<A HREF=\""); |
| 40 | 0 | fileWriter.append(directory); |
| 41 | 0 | fileWriter.append("/"); |
| 42 | 0 | fileWriter.append(object.toString().toLowerCase()); |
| 43 | 0 | fileWriter.append(getTargetExtension()); |
| 44 | 0 | fileWriter.append("\" target=\"objectFrame\">"); |
| 45 | 0 | fileWriter.append(object.toString()); |
| 46 | 0 | fileWriter.append("</A><BR>\n"); |
| 47 | |
} |
| 48 | |
|
| 49 | 0 | fileWriter.append("</FONT></TD>\n" + "</TR>\n" + "</TABLE>\n" + "\n" + "</BODY>\n" + "</HTML>"); |
| 50 | |
} finally { |
| 51 | 0 | fileWriter.close(); |
| 52 | 0 | } |
| 53 | 0 | } |
| 54 | |
|
| 55 | |
public String getTargetExtension() { |
| 56 | 0 | return ".html"; |
| 57 | |
} |
| 58 | |
} |