Architecture and Extension Points
From RSSOwl
Contents |
[edit]
Plugins
- org.rssowl.contrib.nntp - Contributes newsgroup support (optional)
- org.rssowl.contrib.search - Contributes Lucene and full-text-search capabilities
- org.rssowl.core - Core functionality (see description below)
- org.rssowl.core.tests - A suite of JUnit 4 tests
- org.rssowl.lib.db4o - The db4o database storing the model
- org.rssowl.lib.httpclient - Apache HTTPClient for connections to the internet
- org.rssowl.lib.jdom - JDom for transforming XML into the model
- org.rssowl.ui - User Interface functionality (see description below)
[edit]
org.rssowl.core
- org.rssowl.core.connection
- Knows how to connect to the internet and retrieve data
- Manages credentials for Authentication and Proxy Connections
- org.rssowl.core.interpreter
- Knows how to parse a XML file using Xerces and JDom
- Interprets the JDom model as newsfeed and converts it to the RSSOwl Model
- org.rssowl.core.model
- Provides a class for each model type being used in RSSOwl 2
- Implements persistence using db4o
[edit]
org.rssowl.ui
- org.rssowl.ui.internal.actions
- Actions perform a certain task and appear in various parts of the UI
- org.rssowl.ui.internal.editors.feed
- The Feed-Editor is displaying a newsfeed's headlines together with its content in a Browser
- org.rssowl.ui.internal.views.explorer
- The Bookmark Explorer allows to manage bookmarks, saved searches and folder in a Tree
[edit]
Interesting Extension Points provided by RSSOwl
- ElementHandler
- Override the Interpreter for a specific Element in the XML document
- FormatInterpreter
- Teach the Interpreter a new format
- Example: The result of a web-service should be displayed as feed in RSSOwl 2
- NamespaceHandler
- Teach the Interpreter a certain namespace that is used widely
- Example: Implement the iTunes namespace being used for podcast feeds
- ProtocolHandler
- Add a whole new protocol to the list
- Example: Let RSSOwl 2 show Mails or Newsgroups like newsfeeds
- entityPropertyPage
- Add property pages to Bookmarks, Saved Searches or Folders
[edit]
Extension Points provided by Eclipse
- org.eclipse.ui.actionSets
- Add new items to the Menu or Toolbar in RSSOwl 2
- org.eclipse.ui.preferencesPages
- Add new preferences pages to RSSOwl 2
- org.eclipse.ui.views
- Add new Views to RSSOwl 2
- Example: Add a view that allows to manage podcasts in a comfortable way
