View Javadoc

1   package com.sun.syndication.io.impl;
2   
3   import com.sun.syndication.feed.WireFeed;
4   import com.sun.syndication.io.WireFeedParser;
5   import org.jdom.Element;
6   
7   import java.util.List;
8   
9   /***
10   * @author Alejandro Abdelnur
11   */
12  public abstract class BaseWireFeedParser implements WireFeedParser {
13  
14      /***
15       * [TYPE].feed.ModuleParser.classes=  [className] ...
16       *
17       */
18      private static final String FEED_MODULE_PARSERS_POSFIX_KEY = ".feed.ModuleParser.classes";
19  
20      /***
21       * [TYPE].item.ModuleParser.classes= [className] ...
22       *
23       */
24      private static final String ITEM_MODULE_PARSERS_POSFIX_KEY = ".item.ModuleParser.classes";
25  
26  
27      private String _type;
28      private ModuleParsers _feedModuleParsers;
29      private ModuleParsers _itemModuleParsers;
30  
31      protected BaseWireFeedParser(String type) {
32          _type = type;
33          _feedModuleParsers = new ModuleParsers(type+FEED_MODULE_PARSERS_POSFIX_KEY);
34          _itemModuleParsers = new ModuleParsers(type+ITEM_MODULE_PARSERS_POSFIX_KEY);
35      }
36  
37      /***
38       * Returns the type of feed the parser handles.
39       * <p>
40       * @see WireFeed for details on the format of this string.
41       * <p>
42       * @return the type of feed the parser handles.
43       *
44       */
45      public String getType() {
46          return _type;
47      }
48  
49      protected List parseFeedModules(Element feedElement) {
50          return _feedModuleParsers.parseModules(feedElement);
51      }
52  
53      protected List parseItemModules(Element itemElement) {
54          return _itemModuleParsers.parseModules(itemElement);
55      }
56  
57  }