View Javadoc

1   package net.sourceforge.blogentis.plugins.base;
2   
3   //-----------------------------------------------------------------------
4   //Blogentis - a blog publishing platform.
5   //Copyright (C) 2004 Tassos Bassoukos <abassouk@gmail.com>
6   //
7   //This library is free software; you can redistribute it and/or
8   //modify it under the terms of the GNU Lesser General Public
9   //License as published by the Free Software Foundation; either
10  //version 2.1 of the License, or (at your option) any later version.
11  //
12  //This library is distributed in the hope that it will be useful,
13  //but WITHOUT ANY WARRANTY; without even the implied warranty of
14  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  //Lesser General Public License for more details.
16  //
17  //You should have received a copy of the GNU Lesser General Public
18  //License along with this library; if not, write to the Free Software
19  //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  //-----------------------------------------------------------------------
21  //
22  //$Id: BaseBlogPlugin.java,v 1.1 2004/10/22 17:34:12 tassos Exp $
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  }