1 package net.sourceforge.blogentis.plugins.base;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import net.sourceforge.blogentis.om.Blog;
26 import net.sourceforge.blogentis.plugins.AbstractPlugin;
27 import net.sourceforge.blogentis.plugins.BlogPluginService;
28 import net.sourceforge.blogentis.plugins.IExtensionPoint;
29 import net.sourceforge.blogentis.plugins.impl.BasicNavigationExtension;
30 import net.sourceforge.blogentis.plugins.impl.CommentExtensionPointImpl;
31 import net.sourceforge.blogentis.plugins.impl.NavigationExtensionPointImpl;
32 import net.sourceforge.blogentis.plugins.impl.PageExtensionPointImpl;
33 import net.sourceforge.blogentis.plugins.impl.PostEditExtensionPointImpl;
34 import net.sourceforge.blogentis.plugins.impl.PostViewExtensionPointImpl;
35 import net.sourceforge.blogentis.plugins.impl.UserNavigationExtension;
36 import net.sourceforge.blogentis.storage.impl.StorageExtensionPointImpl;
37
38 /***
39 * The basic plugin that sets up most of the default extension points.
40 *
41 * @author abas
42 */
43 public class BaseBlogPlugin
44 extends AbstractPlugin {
45 public String getName() {
46 return "Basic Functionality";
47 }
48
49 public String getDescription() {
50 return "Provides functionality and extension points that"
51 + " other plugins depend on. It is non-removable by default";
52 }
53
54 public void registerInBlog(Blog blog) {
55 BlogPluginService
56 .registerExtensionPoint(blog, new PostEditExtensionPointImpl(
57 this, blog));
58 BlogPluginService
59 .registerExtensionPoint(blog, new PostViewExtensionPointImpl(
60 this, blog));
61 BlogPluginService.registerExtensionPoint(blog,
62 new CommentExtensionPointImpl(
63 this, blog));
64 BlogPluginService
65 .registerExtensionPoint(blog, new NavigationExtensionPointImpl(
66 this, blog));
67
68 BlogPluginService.registerExtensionPoint(blog,
69 new StorageExtensionPointImpl(
70 this, blog));
71
72 IExtensionPoint iep = BlogPluginService
73 .locateExtensionPoint(blog, INavigationExtensionPoint.class);
74 iep.addExtension(new BasicNavigationExtension(this, blog));
75 iep.addExtension(new UserNavigationExtension(this, blog));
76
77 BlogPluginService.registerExtensionPoint(new PageExtensionPointImpl(
78 this));
79 }
80 }