]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/Page.java
Factor out loading of default Template for pages
[gigi.git] / src / org / cacert / gigi / pages / Page.java
1 package org.cacert.gigi.pages;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.io.InputStreamReader;
6 import java.io.UnsupportedEncodingException;
7
8 import javax.servlet.ServletRequest;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11
12 import org.cacert.gigi.Language;
13 import org.cacert.gigi.output.Template;
14
15 public abstract class Page {
16         private String title;
17         private Template defaultTemplate;
18
19         public Page(String title) {
20                 this.title = title;
21                 try {
22                         InputStream resource = getClass().getResourceAsStream(
23                                         getClass().getSimpleName() + ".templ");
24                         if (resource != null) {
25                                 defaultTemplate = new Template(new InputStreamReader(resource,
26                                                 "UTF-8"));
27                         }
28                 } catch (UnsupportedEncodingException e) {
29                         e.printStackTrace();
30                 }
31         }
32         public Template getDefaultTemplate() {
33                 return defaultTemplate;
34         }
35
36         public abstract void doGet(HttpServletRequest req, HttpServletResponse resp)
37                         throws IOException;
38
39         public void doPost(HttpServletRequest req, HttpServletResponse resp)
40                         throws IOException {
41                 doGet(req, resp);
42         }
43
44         public String getTitle() {
45                 return title;
46         }
47
48         public void setTitle(String title) {
49                 this.title = title;
50         }
51         public static Language getLanguage(ServletRequest req) {
52                 return Language.getInstance("de");
53         }
54
55         public static String translate(ServletRequest req, String string) {
56                 Language l = getLanguage(req);
57                 return l.getTranslation(string);
58         }
59         public boolean needsLogin() {
60                 return true;
61         }
62
63 }