View Javadoc
1   package net.sf.maia.core.view;
2   
3   import net.sf.maia.core.storage.PageStore;
4   
5   import org.radeox.api.engine.WikiRenderEngine;
6   import org.radeox.engine.BaseRenderEngine;
7   
8   /***
9    *
10   *
11   * @author Magnus Grimsell
12   */
13  public class MaiaRenderEngine extends BaseRenderEngine implements WikiRenderEngine
14  {
15      private PageStore mPageStore;
16      
17      public void setPageStore(PageStore pageStore)
18      {
19          mPageStore = pageStore;
20      }
21      
22      /***
23       * 
24       * @see WikiRenderEngine#exists(String)
25       */
26      public boolean exists(String path)
27      {
28          if(!path.startsWith("/"))
29          {
30              path = "/" + path;
31          }
32          
33          return mPageStore.getPage(path) != null;
34      }
35  
36      /***
37       * TODO: implement by asking security framework
38       * @see WikiRenderEngine#showCreate()
39       */
40      public boolean showCreate()
41      {
42          return true;
43      }
44  
45      /***
46       * @see WikiRenderEngine#appendLink(StringBuffer, String, String, String)
47       */
48      public void appendLink(StringBuffer buffer, String name, String view, String anchor)
49      {
50          buffer.append("<a href=\"");
51          buffer.append(name);
52          if(anchor != null)
53          {
54              buffer.append("#");
55              buffer.append(anchor);
56          }
57          buffer.append("\">");
58          buffer.append(view);
59          buffer.append("</a>");
60      }
61  
62      /***
63       * @see WikiRenderEngine#appendLink(StringBuffer, String, String)
64       */
65      public void appendLink(StringBuffer buffer, String name, String view)
66      {
67          appendLink(buffer, name, view, null);
68      }
69  
70      /***
71       * @see WikiRenderEngine#appendCreateLink(StringBuffer, String, String)
72       */
73      public void appendCreateLink(StringBuffer buffer, String name, String view)
74      {
75          buffer.append("[[<a href=\"/create?new=");
76          buffer.append(name);
77          buffer.append("//\">");
78          buffer.append(view);
79          buffer.append("</a>]]");
80      }
81  
82  }